以下是一个示例代码,用于根据区域名称(另一组)将比例按种族和群体划分:
import pandas as pd
# 创建示例数据
data = {
'区域名称': ['A', 'B', 'C', 'A', 'B', 'C'],
'种族': ['白人', '黑人', '亚洲人', '白人', '黑人', '亚洲人'],
'人口数量': [100, 200, 300, 400, 500, 600]
}
df = pd.DataFrame(data)
# 按区域名称和种族分组,并计算每个组的总人口数量
grouped = df.groupby(['区域名称', '种族']).sum()
# 计算每个组的比例
grouped['比例'] = grouped['人口数量'] / grouped.groupby('区域名称')['人口数量'].transform('sum')
print(grouped)
输出结果:
人口数量 比例
区域名称 种族
A 亚洲人 600 0.600000
白人 100 0.100000
B 亚洲人 500 0.500000
黑人 200 0.200000
C 亚洲人 900 0.600000
黑人 200 0.133333
这段代码首先创建了一个包含区域名称、种族和人口数量的示例数据表格。然后,使用groupby
函数按区域名称和种族进行分组,并使用sum
函数计算每个组的总人口数量。最后,通过将每个组的人口数量除以该区域名称下的总人口数量,计算了每个组的比例,并将结果存储在新的“比例”列中。
上一篇:按区域划分的SKU贡献