我有一个简单的Dataframe,如下所示:
DRUNK_DR state
11418 0 Indiana
2129 0 California
17876 0 Nebraska
26033 0 Tennessee
25278 0 South Carolina
10565 0 Illinois
30017 0 Vermont
19079 1 New Mexico
21159 0 North Carolina
22620 0 Oklahoma
DRUNK_DR可以是0 1 2 3
(drunk['DRUNK_DR'].unique()
array([1, 0, 2, 3]))
我想得到州的明显统计和分组。
示例:
Alabama
0 12121
1 234
2 33
3 9
这样做的最佳方式是什么?我正在尝试以下方法:
drunk.groupby(['state', 'DRUNK_DR']).count()
不起作用:
state DRUNK_DR
Alabama 0
1
2
答案 0 :(得分:4)
您需要value_counts()
:
df.groupby('state').DRUNK_DR.value_counts()
#state DRUNK_DR
#California 0 1
#Illinois 0 1
#Indiana 0 1
#Nebraska 0 1
#New Mexico 1 1
#North Carolina 0 1
#Oklahoma 0 1
#South Carolina 0 1
#Tennessee 0 1
#Vermont 0 1
#Name: DRUNK_DR, dtype: int64