gpt4 book ai didi

python - Pandas :groupby索引然后使用函数填充数据框

转载 作者:太空宇宙 更新时间:2023-11-03 12:37:46 24 4
gpt4 key购买 nike

我有一个这样的数据框:

df = pd.DataFrame({'pop1': ['1000', '2000','3000','4000'],
'pop2': ['2000', '3000','2000','2000']},
index=['female','female','male','male'])

我如何创建一个 2*2 DataFrame 来给出给定年份(2 列)中给定性别(2 行)的总人口百分比?

最佳答案

您需要先通过 astypestring 转换为 int , 然后 groupby聚合 sum 并除以 div通过 sum .最后多个100:

df = df.astype(int)

a = df.groupby(level=0).sum()
print (a)
pop1 pop2
female 3000 5000
male 7000 4000

b = df.sum()
print (b)
pop1 10000
pop2 9000
dtype: int64

print (a.div(b).mul(100))
pop1 pop2
female 30.0 55.555556
male 70.0 44.444444

它等同于:

df = df.astype(int)
print (df.groupby(level=0).sum().div(df.sum()).mul(100))
pop1 pop2
female 30.0 55.555556
male 70.0 44.444444

关于python - Pandas :groupby索引然后使用函数填充数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40647611/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com