2017-10-16 60 views
0

我有一個數據幀,如如何在熊貓的同時分組和彙總?

Year Age  Count 
1999 0  80 
     1  80 
     2  80 
     3  80 
     4  90 
     5  100 
     ... 
2000 0  60 
     .... 

我想組中不同範圍的年齡,如[0,5),[5,10),......以及獲得這些相關的彙總範圍。因此,上述將成爲

Year Age  Count 
1999 0-4  410 
     5-9  ... 
     ... 
2000 0-4  ... 
     ... 

有沒有一種簡單的方法有groupbysum做到這一點?

+0

也許...你可以添加一些代碼來重現這個數據集嗎? –

+0

使用[pd.cut()](https://pandas.pydata.org/pandas-docs/stable/generated/pandas.cut.html)方法... – MaxU

回答

0

您可以使用pd.cut()(如@MaxU建議),使中間Age_Range柱:

cut_points = range(0, df.Age.max() + 5, 5) 
df['Age_Range'] = pd.cut(df.Age, cut_points) 
df.groupby(['Year', 'Age_Range'])['Count'].sum() 

range()功能pd.cut()創建砍分,0和您的最大值,加五之間,增量五。