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

标签 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) 以提供我额外的计算列

最佳答案

假设 data 是您的旋转数据框,这应该可以做到:

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

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

关于python - 将计算列添加到 pandas 数据透视表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26313881/

相关文章:

python - 分割文本但在第一个分割部分中包含模式

python - 与切片和聚合表相关的基本 panda 问题

python pandas - 有条件合并数据

python - pandas 系列中的矢量化日期解析?

python - Flask 应用仅在 wtforms 验证后提交目标 ="_blank"表单

python - Django datetime.datetime 到 Decimal 不支持迁移

python - 如何在Python中的字典列表上进行插入排序?

python - 获取购买次数最多的前 10 件商品作为列表

python - 使用 python/pandas 将数据框写入谷歌表格

python - Pandas:更快地将字符串元组列表转换为数据帧?