[英]Fill NaN of DF with the values below
我有一個像這樣的 DF,它是一個轉置的 DF( pd.transpose() ):
0 1 2
COL_5 NaN NaN NaN
COL_4 NaN NaN 4
COL_3 NaN 12 7
COL_2 15 4 11
COL_1 7 8 9
我想用以下值替換 NaN:
0 1 2
COL_5 15 12 4
COL_4 7 4 7
COL_3 8 11
COL_2 9
COL_1
我不知道該怎么做...
您可以使用:
out = (df
.apply(lambda c: pd.Series(c.dropna().to_numpy()))
.reindex(range(len(df)))
.set_axis(df.index)
)
如果您只有頂部的 NaN 而之后沒有更多,則更好的選擇:
out = df.apply(lambda c: c.shift(-c.isna().sum()))
輸出:
0 1 2
COL_5 15.0 12.0 4.0
COL_4 7.0 4.0 7.0
COL_3 NaN 8.0 11.0
COL_2 NaN NaN 9.0
COL_1 NaN NaN NaN
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.