我有一个简单的数据框,看起来像这样:
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
最佳答案
你需要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
关于python - 计算 Dataframe 中的不同值并按不同列分组的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40833562/