我有一个包含 A 列和 B 列的数据框(df):
A B
0 'a' 50
1 'b' 25
2 'a' 30
3 'c' 200
如果 A 列值为“a”,我想将 B 列的值乘以 100,所以我的输出应该是:
A B
0 'a' 5000
1 'b' 25
2 'a' 3000
3 'c' 200
任何人都可以建议一种更清洁的方法来做到这一点。谢谢。
我认为测试子字符串没有必要,只使用DataFrame.loc http://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.loc.html与比较值a
:
df.loc[df['A'] == "'a'", 'B'] *= 100
#same like
#df.loc[df['A'] == "'a'", 'B'] = df.loc[df['A'] == "'a'", 'B'] * 100
print (df)
A B
0 a 5000
1 b 25
2 a 3000
3 c 200
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)