我有一个数据框:
A B
1: 0 1
2: 0 0
3: 1 1
4: 0 1
5: 1 0
如果列A的值等于0,我想用列B的值更新数据帧的每个列A的值。
我要获取的数据帧:
A B
1: 1 1
2: 0 0
3: 1 1
4: 1 1
5: 1 0
我已经试过这个密码了
df['A'] = df['B'].apply(lambda x: x if df['A'] == 0 else df['A'])
它会引发一个错误:The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
可以使用掩码执行此操作:
编辑: 好吧,这实际上是一个无效的解决方案:
因此,感谢零这个有效的解决方案与np.where!
使用
where
输出
相关问题 更多 >
编程相关推荐