我正在努力研究如何使用pandas中的groupby
函数计算出给定是/否条件下每年值的比例。
例如,我有一个名为names
的数据帧:
Name Number Year Sex Criteria
0 name1 789 1998 Male N
1 name1 688 1999 Male N
2 name1 639 2000 Male N
3 name2 551 1998 Male Y
4 name2 499 1999 Male Y
我可以用
namesgrouped = names.groupby(["Sex", "Year", "Criteria"]).sum()
得到:
Number
Sex Year Criteria
Male 1998 N 14507
Y 2308
1999 N 14119
Y 2331
等等。我希望“数字标准”一栏显示每个性别和年份占总数的百分比-因此,与其说1998年的N=14507和Y=2308,不如说我的N=86.27%和Y=13.73%。
有人能建议怎么做吗?
这个问题是suggested duplicate的直接扩展。从接受的答案中,这将起作用:
编辑:转换操作可能比应用快:
相关问题 更多 >
编程相关推荐