【发布时间】:2020-05-03 12:25:48
【问题描述】:
我对 pandas 还很陌生,我正在努力使用多个条件编辑数据透视表中的值。
我有下面的数据透视表,我正在尝试以成本编辑桌面和移动的数据。这两者是互斥的,所以如果一个帐户对桌面有费用,它会免费获得移动(移动费用应该为零),如果桌面下的费用为 0,那么移动应该是 25。
数据透视表的代码如下所示
cost_merge = pd.pivot_table(cost_merge, values=['Cost'],
index=['ID', 'First Name', 'Last Name', 'Account Number', 'Creation Date', 'Country/Region'],
columns=['Service Name'], fill_value=0)
当尝试使用 df.loc 形成条件时,我得到 KeyError
当我运行cost_merge.columns.levels 时,我得到FrozenList([['Cost'], ['1', 'Desktop', 'Mobile', '4', '5']]) 但我无法将它用于我想要的逻辑。
我希望最终结果看起来像这样;
感觉就像我已经浏览了 SO 上的每个 pandas 线程都试图得到答案,所以如果之前有人问过这个问题,我深表歉意。
正如我之前所说,我对 pandas 比较陌生,所以如果某些内容没有以最佳方式形成,请告诉我,以便我修复。
【问题讨论】:
标签: python pandas pivot-table multi-index