Tom*_*aly 3 python python-3.x pandas
我需要找到MultiIndex列的百分比(“计数”)。我的DataFrame看起来像:
count
A week1 264
week2 29
B week1 152
week2 15
Run Code Online (Sandbox Code Playgroud)
我想添加一列“百分比”
count percent
A week1 264 0.9
week2 29 0.1
B week1 152 0.91
week2 15 0.09
Run Code Online (Sandbox Code Playgroud)
我知道我可以找到想要的总数
mydf.sum(level=[0, 1])
Run Code Online (Sandbox Code Playgroud)
但我似乎无法弄清楚如何将其转换为百分比。
您可以使用groupby和完成此操作transform:
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
Run Code Online (Sandbox Code Playgroud)
没有groupby
df['percentage']=df['count'].div(df['count'].sum(level=0),level=0)
df
Out[128]:
count percentage
x b
A week1 264 0.901024
week2 29 0.098976
B week1 152 0.910180
week2 15 0.089820
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
615 次 |
| 最近记录: |