2016-12-31 158 views
3

的平均我有一個python熊貓數據幀,如:蟒蛇:大熊貓:篩選一列,並得到另一列

a b 
1 5 
3 6 
1 7 
2 8 
2 34 
3 35 
1 54 
3 123 
4 2353 
... .... 

我想要得到的值的平均值b中,當有不同的價值。 (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) 

但它是不正確的。希望您能夠幫助我。謝謝 !

回答

5

可以使用groupby爲聚集:

df.groupby('a').b.mean() 

#a 
#1  22.000000 
#2  21.000000 
#3  54.666667 
#4 2353.000000 
#Name: b, dtype: float64 
+0

感謝這麼多,你能告訴我怎麼走,而不是mean.thanks –

+2

你可以用'位數()'0.75概率上四分位數。 'df.groupby( 'A')。位數([0.75])'。 – Psidom