如何设置ivot_table选项以获取总数和百分比?

时间:2019-12-02 13:40:13

标签: pandas pivot-table

我正在练习数据透视表。我想计算“好”和“坏”的数字,并获取每种数字的百分比。

这是我想要的图像。 如何设置ivot_table选项?

enter image description here

1 个答案:

答案 0 :(得分:0)

在这种情况下,您不需要数据透视表,因为您只需要对一个变量求和。实现目标的一种简单方法是:

A = ['good','good','bad','good',np.nan]
Data = pd.DataFrame(A)
Data.columns = ['Status']
Data.index=['x1','x2','x3','x4','x5']


counts = Data.Status.value_counts().to_frame('total')
counts['percentage'] = counts.total / 
counts.total.sum()

要对数据透视表执行相同的操作,我认为您需要引入一个虚拟变量来求和。无论哪种方式,您仍然都必须在事后计算百分比:

Data['total'] = 1
piv = Data.pivot_table(
    index='Status',
    values='total',
    aggfunc='sum'
)
piv['percentage'] = piv.total/piv.total.sum(axis=0)