[英]Groupby bins on multiple items
我的数据框看起来像这样(但是有大约100,000行数据):
ID,Total,TotalDate,DaysBtwRead,Type,YearlyAvg
1,1250,6/2/2017,17,AT267,229
2,1670,2/3/2012,320,PQ43,50
我正在尝试按年度平均总数分组
df.groupby(pd.cut(df['YearlyAvg'], np.arange(0,1250,50))).count()
这样我就可以设置一个独特的蒙特卡洛分布,但是我也需要按每个单独的Type将它们分组。 当前,这仅计算每个范围,而与其他任何值无关。
我没有设置总体总数,而是尝试设置代码,使输出看起来更像以下内容(YearlyAvg包含每个范围的计数)
Index,YearlyAvg
AT267(0, 50], 200
PQ43(0, 50], 123
AT267(50, 100], 49
PQ43(50, 100], 67
除了为每个Type值创建单独的数据框之外,还有其他更简便的方法吗?
您可以将unstack
与stack
df['bins']=pd.cut(df['YearlyAvg'], np.arange(0,1250,50))
df.groupby(['Type','bins']).size().unstack(fill_value=0).stack()# also here will create the multiple index for achieve what you need
Out[1783]:
Type bins
AT267 (0, 50] 0
(200, 250] 1
PQ43 (0, 50] 1
(200, 250] 0
dtype: int64
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.