给定一个3列数据帧,df
:
a b c
0 NaN a True
1 1 b True
2 2 c False
3 3 NaN False
4 4 e True
[5 rows x 3 columns]
对于任何其他colunn中存在NaN
的每一行,我想在c
列中放置一个NaN
。我目前的做法如下:
for col in df:
df['c'][pd.np.isnan(df[col])] = pd.np.nan
我强烈怀疑有一种方法可以通过逻辑索引来实现这一点,而不是像我目前所做的那样遍历列。你知道吗
这怎么可能呢?你知道吗
谢谢你!你知道吗
请注意,您可能需要将列
c
的类型更改为float,否则将出现无法将nan
分配给integer列的错误。你知道吗筛选并选择具有
NaN
的行作为“a”或“b”,并将“c”分配给NaN
:如果你不关心bool/float问题,我建议:
如果你真的这样做了,那么从你的框架
df
开始你可以:相关问题 更多 >
编程相关推荐