首页 > 解决方案 > 当列有多个选择时,如何计算数据透视表中的行百分比 - 使用 python pandas

问题描述

我正在尝试创建一个数据透视表,我可以在其中查看每个值的行百分比。这是,假设我有 Index = 'gender' 性别为 {Male,Female,Other} 并且在列侧,我有对“你有孩子吗?”的响应,响应为 0 表示否,1 表示是.

我想做一个表格,不仅计算每个性别有和没有孩子的人数,还计算每个值的百分比。

我努力了:

`pivot1 = pd.pivot_table(df, index='gender', columns=['children'], aggfunc='size')
pivot1.columns = pivot1.columns.ravel()
pivot1['% of Total'] = (df.children / df.children.sum() * 100)
pivot1.loc['total', :] = pivot1.sum().values
pivot1`

但百分比不是由 'children' 列的 0 和 1 归因的:

在此处输入图像描述

额外:是否还有一种方法可以使用多列但没有多重索引的数据透视表?

标签: pythonpandaspivotpercentage

解决方案


推荐阅读