多个项目上的Groupby存储箱

2024-10-01 11:30:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我的数据框看起来像这样(但是大约有100000行数据):

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()

所以我可以设置一个独特的montecarlo分布,但我也需要按每个类型分组。这当前只对每个范围进行计数,而不考虑任何其他值。在

我并没有设置一个总体的聚合计数,而是尝试设置代码,使输出看起来更像以下内容(YearlyAvg包含每个范围的计数)

^{pr2}$

除了为每个类型值创建单独的数据帧之外,有没有更简单的方法来实现这一点?在


Tags: 数据id类型dftypetotalpd计数
1条回答
网友
1楼 · 发布于 2024-10-01 11:30:58

您可以将unstackstack一起使用

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

相关问题 更多 >