Python Pandas:如何取一列的分类平均值?

sil*_*dev 4 pandas

对于给定的数据帧如下:

1 a 10
2 a 20
3 a 30
4 b 10
5 b 100
Run Code Online (Sandbox Code Playgroud)

其中第 1 列是索引,第 2 列是某个分类值,第 3 列是一个数字。我想要第 2 列的分类平均值,它应该是这样的:

a 20
b 55
Run Code Online (Sandbox Code Playgroud)

a 的值计算为

(10+20+30)/3 = 20
Run Code Online (Sandbox Code Playgroud)

b 的值计算为

(10+100)/2 = 55
Run Code Online (Sandbox Code Playgroud)

jez*_*ael 5

我想你可以使用groupbymeanreset_index

print df
   a  b    c
0  1  a   10
1  2  a   20
2  3  a   30
3  4  b   10
4  5  b  100

df1 = df.groupby('b')['c'].mean().reset_index()
print df1
   b   c
0  a  20
1  b  55

print df1.c.max()
55
print df1.c.min()
20
Run Code Online (Sandbox Code Playgroud)