我有 df 看起来像这样:col1 col2 NaN texttext textNaN textNaN text我想在清除值col2,如果NaN如果存在col1。新 df 应如下所示:col1 col2 NaN text textNaN NaN
3 回答

缥缈止盈
TA贡献2041条经验 获得超4个赞
您正在寻找masking 操作:
df['col2'] = df['col2'].mask(df.col1.isna(), '')
# df['col2'] = np.where(df.col1.isna(), '', df['col2'])
df
col1 col2
0 NaN
1 text text
2 NaN
3 NaN
如果您希望在第二列中使用 NaN 而不是空白,请将第二个参数省略为mask。

海绵宝宝撒
TA贡献1809条经验 获得超8个赞
使用dropna+reindex
df.dropna('col1').reindex(df.index) # fixing by cold :-)
col1 col2
0 NaN NaN
1 text text
2 NaN NaN
3 NaN NaN
没有找到匹配的内容?试试慕课网站内搜索吧
添加回答
举报
0/150
提交
取消