2017-08-11 71 views
0

我被一個柱試圖組列ç的平均值。我不確定如何使用GROUPBY功能來實現:集團多列由單柱 - 熊貓據幀

import pandas as pd 
pd.DataFrame({'B' : df.groupby(['A'])['B'].mean()}).reset_index() 

因爲我只能找出如何找到另一臺平均和組一列。如果這是我的當前數據幀

A B C 

0 70 12 
0 20 14 
0 46 11 
1 25 9 
2 86 2 
2 14 6 

這是我預期結果。分組的所有像值加在一起,在Ç對應值被平均在它們各自的列:

A B  C 

0 45.3 12.3 
1 25 9 
2 50 4 

回答

1

嘗試此

df.groupby('A').mean() 
Out[339]: 
      B   C 
A      
0 45.333333 12.333333 
1 25.000000 9.000000 
2 50.000000 4.000000 
0

雖然.mean()是最明顯的解決方案,您也可以彙總結果:

>>> df.groupby('A').agg('mean') 
      B   C 
A      
0 45.333333 12.333333 
1 25.000000 9.000000 
2 50.000000 4.000000 

使用.agg,你可以同時聚合多個功能,例如:

>>> df.groupby('A').agg(['mean', 'std']) 
      B      C   
     mean  std  mean  std 
A           
a 45.333333 25.006666 12.333333 1.527525 
b 25.000000  NaN 9.000000  NaN 
c 50.000000 50.911688 4.000000 2.828427