我有一个像这样的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] 删除。
我来说两句