小编fuz*_*_77的帖子

如何在pandas中使用groupby根据另一列中的条件计算百分比/比例总数

我正在尝试研究如何使用groupbypandas中的函数来计算每年使用给定的是/否标准的值的比例.

例如,我有一个名为的数据框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
Run Code Online (Sandbox Code Playgroud)

我可以用

namesgrouped = names.groupby(["Sex", "Year", "Criteria"]).sum()
Run Code Online (Sandbox Code Playgroud)

要得到:

                   Number
Sex    Year      Criteria
Male   1998 N        14507
            Y         2308
       1999 N        14119
            Y         2331
Run Code Online (Sandbox Code Playgroud)

等等.我希望"数字标准"列显示每个性别和年份总数的百分比 - 因此,除了1998年以上的N = 14507和Y = 2308,我有N = 86.27%和Y = 13.73%.

任何人都可以建议如何做到这一点?

python pivot group-by dataframe pandas

8
推荐指数
1
解决办法
2万
查看次数

标签 统计

dataframe ×1

group-by ×1

pandas ×1

pivot ×1

python ×1