【发布时间】:2021-11-04 09:39:52
【问题描述】:
我找到了一个行之有效的单行解决方案。
这里的目标是估计研究中的位置性别比例。
# Data Frame
df = pd.DataFrame({"location": {0: "site 1", 1: "site 1", 2: "site 2", 3: "site 2", 4: "site 1"},
"gender": {0: "male", 1: "female", 2: "male", 3: "female", 4: "female"}})
print(df)
使用以下步骤产生结果
步骤 1. 应用 groupby
步骤 2. 使用 value_count
步骤 3. 使用 unstack
第 4 步。乘以 100 并将所有内容放入一个圆形函数中。
round(df.groupby(['location'])['gender'].value_counts(normalize = True).unstack()*100, 2)
还有其他解决方案吗?如果有人有其他解决方案/代码,请在此处分享。
【问题讨论】:
-
你能用minimal reproducible example更新你的帖子吗?
-
现在,我添加了包含代码示例的上下文。
标签: python pandas pandas-groupby proportions