假设我有以下pandas数据框:
我希望如果发现np.nan,将其替换为A列中的值。这意味着结果应该是这样的:
df = pd.DataFrame([[3, 2, np.nan, 0],
[5, 4, 2, np.nan],
[7, np.nan, np.nan, 5],
[9, 3, np.nan, 4]],
columns=list('ABCD'))
它返回这个:
A B C D
0 3 2.0 NaN 0.0
1 5 4.0 2.0 NaN
2 7 NaN NaN 5.0
3 9 3.0 NaN 4.0
我希望如果发现np.nan,将其替换为A列中的值。这意味着结果应该是这样的:
A B C D
0 3 2.0 3.0 0.0
1 5 4.0 2.0 5.0
2 7 7.0 7.0 5.0
3 9 3.0 9.0 4.0
我尝试了多种方法,但都没有成功。有人可以帮忙吗?
np.where
:np.where(df.isna(), df[['A']], df)
- piRSquared