我需要找到MultiIndex列的百分比(“计数”)。我的DataFrame看起来像:

            count
A  week1     264

   week2      29

B  week1     152

   week2      15

我想添加一列“百分比”
            count percent
A  week1     264      0.9

   week2      29      0.1

B  week1     152     0.91

   week2      15     0.09

我知道我可以找到想要的总数
mydf.sum(level=[0, 1])

但我似乎无法弄清楚如何将其转换为百分比。

最佳答案

您可以使用groupbytransform做到这一点:

df['percent'] = df.groupby(level=0).transform(lambda x: (x / x.sum()).round(2))

#          count  percent
# A week1    264     0.90
#   week2     29     0.10
# B week1    152     0.91
#   week2     15     0.09

关于python - Pandas 中的多索引百分比,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48710690/

10-16 07:30