将计算列添加到pandas数据透视表

时间:2014-10-11 10:56:47

标签: python pandas

我创建了一个pandas数据框,然后将其转换为数据透视表。

我的数据透视表如下所示:

Operators   TotalCB     Qd(cb)  Autopass(cb)
Aircel India    55        11       44
Airtel Ghana    20        17        3
Airtel India    41         9        9
Airtel Kenya    9          4        5
Airtel Nigeria  24        17        7
AT&T USA        18        10        8

我想知道如何添加计算列,以便使用Autopass%(Autopass(cb)/TotalCB*100)获取我的数据透视表,就像我们可以使用计算字段选项在Excel中创建它们一样。

我希望我的数据透视表输出如下所示:

Operators   TotalCB     Qd(cb)  Autopass(cb)    Qd(cb)% Autopass(cb)%
Aircel India    55          11    44             20%     80%
Airtel Ghana    20          17     3             85%     15%
Airtel India    41          29     9             71%     22%
Airtel Kenya     9           4     5             44%     56%
AT&T USA        18          10     8             56%     44%

如何定义计算百分比列的函数以及如何将该函数应用于我的两列Qd(cb)Autopass(cb),以便为我提供额外的计算列

1 个答案:

答案 0 :(得分:5)

这应该这样做,假设data是您的透视数据框:

data['Autopass(cb)%'] = data['Autopass(cb)'] / data['TotalCB'] * 100
data['Qd(cb)%'] = data['Qd(cb)'] / data['TotalCB'] * 100

向数据框添加新列就像df['colname'] = new_series一样简单。在这里,我们为您分配了您所请求的功能,当我们将其作为矢量操作时,它会创建一个新系列。