对于给定的数据帧如下:
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)
我想你可以使用groupby
同mean
和reset_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)
归档时间: |
|
查看次数: |
4441 次 |
最近记录: |