gpt4 book ai didi

python - 从组内的最大值中减去值

转载 作者:太空狗 更新时间:2023-10-29 21:19:13 27 4
gpt4 key购买 nike

尝试采用 df 并根据组中值与组最大值之间的差异创建一个新列:

Group Value
A 4
A 6
A 10
B 5
B 8
B 11

以新列“from_max”结束

from_max
6
4
0
6
3
0

我试过了,但出现了 ValueError:

df['from_max'] = df.groupby(['Group']).apply(lambda x: x['Value'].max() - x['Value'])

提前致谢

最佳答案

选项 1
矢量化 groupby + transform

df['from_max'] = df.groupby('Group').Value.transform('max') - df.Value

df
Group Value from_max
0 A 4 6
1 A 6 4
2 A 10 0
3 B 5 6
4 B 8 3
5 B 11 0

选项 2
索引对齐减法

df['from_max'] = (df.groupby('Group').Value.max() - df.set_index('Group').Value).values

df
Group Value from_max
0 A 4 6
1 A 6 4
2 A 10 0
3 B 5 6
4 B 8 3
5 B 11 0

关于python - 从组内的最大值中减去值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50220770/

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