为了账号安全,请及时绑定邮箱和手机立即绑定

如果存在另一列中的值,如何从单元格中清除值?

如果存在另一列中的值,如何从单元格中清除值?

手掌心 2021-09-14 09:56:48
我有 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。


查看完整回答
反对 回复 2021-09-14
?
海绵宝宝撒

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


查看完整回答
反对 回复 2021-09-14
  • 3 回答
  • 0 关注
  • 156 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号