gpt4 book ai didi

python - Pandas groupby 汇总

转载 作者:行者123 更新时间:2023-12-02 03:41:50 25 4
gpt4 key购买 nike

如果我有一个这样的数据框:

import pandas as pd
df=pd.DataFrame({"A":[1,1,2],"B":["a","b","c"],"metric":[4,5,2]})
df=df.groupby(["A","B"]).sum()

生成的 df 为:

     metric
A B
1 a 4
b 5
2 c 2

当然是多索引级别 A 和 B。

我如何将指标总和“汇总”到 A 级别,并将其应用于该级别的 df,以便我得到如下结果:

     metric   total_metric_by_A
A B
1 a 4 9
b 5 9
2 c 2 2

我知道我可以重置索引,仅按 A 分组,然后以某种方式加入回来,但我真的不想这样做。有更好的办法吗?

最佳答案

groupby 还接受级别参数,因此您可以执行以下操作:

df.groupby(level='A').transform('sum')
Out:
metric
A B
1 a 9
b 9
2 c 2

当然,您需要将其分配回来

df['total_metric_by_A'] = df.groupby(level='A').transform('sum')

df
Out:
metric total_metric_by_A
A B
1 a 4 9
b 5 9
2 c 2 2

关于python - Pandas groupby 汇总,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48345059/

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