gpt4 book ai didi

python - pandas:根据其他列乘以列

转载 作者:行者123 更新时间:2023-11-30 23:20:54 24 4
gpt4 key购买 nike

我有一个包含 a 列和 b 列的数据框。如果 b 为真,我想将 a 列乘以值 x;如果 b 为假,我想将列 a 乘以值 y。实现这一目标的最佳方法是什么?

最佳答案

您可以通过两步完成:

df.loc[df.b, 'a'] *= x
df.loc[df.b == False, 'a'] *= y

或者在 1 步中使用 where:

In [366]:

df = pd.DataFrame({'a':randn(5), 'b':[True, True, False, True, False]})
df
Out[366]:
a b
0 0.619641 True
1 -2.080053 True
2 0.379665 False
3 0.134897 True
4 1.580838 False

In [367]:

df.a *= np.where(df.b, 5,10)
df
Out[367]:
a b
0 3.098204 True
1 -10.400266 True
2 3.796653 False
3 0.674486 True
4 15.808377 False

关于python - pandas:根据其他列乘以列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25196528/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com