我有一个DataFrameGroupBy
,其密钥的结构为Hour, ID
。
我试图从每小时获得每个组的大小。
运行mygroup.size()
会给我输出:
ID
0 41 3
55 10
56 1
60 7
65 1
...
23 2218 5
2222 9
2223 5
2225 2
我希望能够做的是过滤此列表,以便我可以根据密钥的Hour
部分(0-23)获取每个组中的总数
答案 0 :(得分:1)
致电count
并传递level=0
,例如:
In [21]:
df = pd.DataFrame({'a':[0,0,1,1,1,1],'b':[1,2,3,12,3,4],'c':np.arange(6)})
df
Out[21]:
a b c
0 0 1 0
1 0 2 1
2 1 3 2
3 1 12 3
4 1 3 4
5 1 4 5
In [22]:
gp = df.groupby(['a','b'])
gp.size()
Out[22]:
a b
0 1 1
2 1
1 3 2
4 1
12 1
dtype: int64
In [23]:
gp.size().count(level=0)
Out[23]:
a
0 2
1 3
dtype: int64