python Pandas : Find percentage by dividing 2 arrays

标签 python pandas group-by pandas-groupby

我有一个数据框,我提取了 2 条数据(各州的警察杀戮,以及各州的警察杀戮黑人):

import pandas as pd

police_df = pd.read_csv("police.csv")
print(police_df['state'].value_counts())
print((police_df.loc[police_df['race'] == 'B'])['state'].value_counts())

我想知道每个州的谋杀案中黑人占多少百分比。我假设我会通过将 2 个数组按每个元素明智地划分来做到这一点。我该怎么做?

最佳答案

考虑示例数据框 police_df

police_df = pd.DataFrame(dict(
        state='s1 s1 s1 s1 s2 s2 s2 s2 s3 s3 s3'.split(),
        race=list('BOBOOOOBBBB')
    ))

print(police_df)

   race state
0     B    s1
1     O    s1
2     B    s1
3     O    s1
4     O    s2
5     O    s2
6     O    s2
7     B    s2
8     B    s3
9     B    s3
10    B    s3

groupbyvalue_countsnormalize=True 一起使用

police_df.groupby('state').race.value_counts(normalize=True).unstack(fill_value=0)

race      B     O
state            
s1     0.50  0.50
s2     0.25  0.75
s3     1.00  0.00

关于 python Pandas : Find percentage by dividing 2 arrays,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43193669/

相关文章:

Python: "del a"和 "del(a)"之间有什么区别吗?

python - Django 使用 icontains 过滤器来过滤字典中的多个值

Python找到二叉树中两个节点的最低公共(public)祖先(如果不是树中的所有这些节点)

python - 删除循环中的任何空字段?

r - 按多个组对特定行求和

mysql - SQL中查找每个group by中第N个值对应的行

Python递归函数显示给定集合的所有子集

python - 使用 Python 将 DateTime 时间戳转换为 unix

python - pandas:如何将字典转换为转置数据框?

mysql - 使用 Group By 聚合不同的列类型