我有这个数据框:
a b c d
1 NaN 1 2
NaN 1 3 4
3 NaN NaN 5
我需要根据的值替换每行中的空值column d
。
输出应为:
a b c d
1 2 1 2
4 1 3 4
3 5 5 5
我尝试了以下步骤,但没有一个起作用:
df.fillna(df.d, inplace= True)
df.iloc[:].fillna(df.d, inplace= True)
df.replace(np.NaN, df.d, inplace=True)
我的列过多,因此无法使用逐列填充空值。如何使用d列中的值一次填写所有列中的空值?
创建一个克隆df1
,df
并从中复制所有值df.d
。接下来,用它来填充df
df1 = df[['d']].reindex(columns=df.columns).bfill(1)
df.fillna(df1)
Out[153]:
a b c d
0 1.0 2.0 1.0 2
1 4.0 1.0 3.0 4
2 3.0 5.0 5.0 5
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句