【发布时间】:2016-08-11 16:19:23
【问题描述】:
我有一个如下所示的 pandas 数据框:
Col1 Col2 Col3
0 A 7 NaN
1 B 16 NaN
1 B 16 15
我想要做的是将 Col2 与 Col3 交换,其中 Col3 的值为NaN。根据 SO 上的其他帖子和答案,到目前为止我有这个代码:
df[['Col2', 'Col3']] = df[['Col3', 'Col2']].where(df[['Col3']].isnull())
但这似乎无法正常工作,并给了我以下信息:
Col1 Col2 Col3
0 A NaN NaN
1 B NaN NaN
1 B NaN NaN
这里有什么我可能遗漏的吗?
更新:我想要的输出如下:
Col1 Col2 Col3
0 A NaN 7
1 B NaN 16
1 B 16 15
谢谢
【问题讨论】:
-
Col3 为 None 是什么意思?如果所有元素都是 NaN 还是单个元素就足够了?
-
@ayhan 对于某些行,Col3 的值为 NaN,当这种情况发生时,我想将其与 Col2 交换。我编辑了这个问题,希望现在很清楚。