gpt4 book ai didi

python - 计算 groupby pandas 中唯一组合的均值

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

我有他跟随 Pandas 数据框:

data = DataFrame({'A' : ['foo', 'bar', 'foo', 'bar', 'foo', 'bar', 'foo', 'foo'], 'B' : ['one', 'one', 'two', 'three', 'two', 'two', 'one', 'three'], 'C' :[2,1,2,1,2,1,2,1]})

看起来像:

     A      B  C
0 foo one 2
1 bar one 1
2 foo two 2
3 bar three 1
4 foo two 2
5 bar two 1
6 foo one 2
7 foo three 1

我需要的是计算 A 和 B 的每个唯一组合的平均值。即:

  A     B C
foo one 2
foo two 2
foo three 1

mean = 1.66666667

并将根据 A 的值计算的“均值”作为输出,即:

foo 1.666667
bar 1

我试过:

data.groupby(['A'], sort=False, as_index=False).mean()

但它返回我:

foo 1.8
bar 1

有没有办法计算唯一组合的平均值?怎么样?

最佳答案

这与@S_A 的回答基本相同,但更加简洁。

您可以使用以下方法计算 A B 的均值:

In [41]: df.groupby(['A', 'B']).mean()
Out[41]:
C
A B
bar one 1
three 1
two 1
foo one 2
three 1
two 2

然后计算这些在 A 上的平均值:

In [42]: df.groupby(['A', 'B']).mean().groupby(level='A').mean()
Out[42]:
C
A
bar 1.000000
foo 1.666667

关于python - 计算 groupby pandas 中唯一组合的均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31835674/

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