gpt4 book ai didi

python - 通过 pandas groupby 计算值

转载 作者:太空宇宙 更新时间:2023-11-03 21:37:00 25 4
gpt4 key购买 nike

我正在尝试弄清楚如何使用 pandas groupby。

我的数据框看起来像这样

index ID Code Quantity
0 400 ZU 5000
1 400 ZO 12
2 401 ZU 9000
3 401 ZO 15
4 402 ZU 1000
5 403 ZO 15

我想按 ID 和代码进行分组并创建一个额外的列,该列将 ZU 的数量除以 ZO 的数量,但前提是 groupby 具有两者的条目。如果丢失了数据,则可能会删除该数据。

我知道我可以按多个列进行分组,例如:

data.groupby(['ID', 'Code'])

但我不知道如何从那里继续,因为我不需要 .sum().mean() 值。

预期的输出可能是这样的:

index ID value
0 400 416.17
1 401 600

最佳答案

严格来说,这里不需要 groupby。您可以过滤数据帧并使用 set_index 创建两个映射。然后将一个除以另一个并删除空值。

zu = df.loc[df['Code'] == 'ZU'].set_index('ID')['Quantity']
zo = df.loc[df['Code'] == 'ZO'].set_index('ID')['Quantity']

res = (zu / zo).dropna().reset_index()

print(res)

ID Quantity
0 400 416.666667
1 401 600.000000

关于python - 通过 pandas groupby 计算值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53186361/

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