熊猫根据值替换多列的值

佩德罗·辛特拉

我有一个像这样的DataFrame:

col1  col2 col3  col4
 0      1     0   45
 4      3   102   72
 0      0    11  101

如果第1到3列中每个项目的值都大于0,则应将它们替换为col4的值,因此预期输出应为:

col1  col2  col3 col4
  0     45     0   45
 72     72    72   72
  0      0   101  101
广晃

您可以使用mask

cols = ['col1', 'col2', 'col3']

df[cols] = df[cols].mask(df[cols]>0, df['col4'], axis=0)

输出:

   col1  col2  col3  col4
0     0    45     0    45
1    72    72    72    72
2     0     0   101   101

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章