python - 计算 Dataframe 中的不同值并按不同列分组的最佳方法是什么?

标签 python pandas

我有一个简单的数据框,看起来像这样:

    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/

相关文章:

python - 将数据框转换为字典

python - Pandas-如何添加带有跳过行的条目的列?

python - 如何连接这两个 pandas 数据框?

python - 仅使用 python、html 下载 amazon.co.uk 网页,就像 firebug 看到的那样

python - 使用 Python 脚本在 C 代码中添加行

python - .gz 文件到带有配置单元分隔符的 pandas DataFrame

python - 尝试使用 Deque 来限制传入数据的 DataFrame ......建议?

python - 如何结合 tf.map_fn 和 tf.split

python - 如何本地附加到 python 进程?

python - 发布数据有表单输入,但 Django modelform 没有保存它