我有一个python pandas数据框,如:
a b
1 5
3 6
1 7
2 8
2 34
3 35
1 54
3 123
4 2353
... ....
当a具有不同的值时,我希望得到b中的平均值。 例如,当a = 1时,b = 5,7,54,所以均值(a = 1)=(5 + 7 + 54)/ 3; 当a = 2,b = 8,34时,均值(a = 2)=(8 + 34)/ 2;
我的尝试是
aaa = []
for v in df['a']:
aaa.append(np.mean(df['b'])
print (aaa)
但它不对。希望您能够帮助我。谢谢!
答案 0 :(得分:8)
您可以使用groupby进行汇总:
df.groupby('a').b.mean()
#a
#1 22.000000
#2 21.000000
#3 54.666667
#4 2353.000000
#Name: b, dtype: float64