如何在 pandas groupby table 上添加计算?
How to add calculations on a pandas groupby table?
我使用 pandas.groupby 创建了一个 table,但我想添加一个列来对 groupby 输出中的列进行计算。这是我的代码(我正在使用 Python 2)和结果:
DMM_pivot = df.query('rpc_flag != "IB RPC"').groupby(['rpc_flag', 'DMM_type'])
DMM_pivot = DMM_pivot['number_accounts'].sum().unstack('rpc_flag').fillna(0)
DMM_pivot = DMM_pivot.apply(lambda x: x / x.sum()).round(2) # Show percentage of total
print DMM_pivot
rpc_flag No RPC OB RPC
DMM_type
Bad 0.34 0.25
Good 0.66 0.75
我想添加一个显示各列百分比差异的列:(OB RPC 值/无 RPC 值 - 1)并期望这些结果:
rpc_flag No RPC OB RPC Change
DMM_type
Bad 0.34 0.25 -0.26
Good 0.66 0.75 0.14
使用申请。
DMM_pivot["Change"] = DMM_pivot.apply(lambda x: x["OB RPC"]/x["No RPC"] -1, axis=1)
我使用 pandas.groupby 创建了一个 table,但我想添加一个列来对 groupby 输出中的列进行计算。这是我的代码(我正在使用 Python 2)和结果:
DMM_pivot = df.query('rpc_flag != "IB RPC"').groupby(['rpc_flag', 'DMM_type'])
DMM_pivot = DMM_pivot['number_accounts'].sum().unstack('rpc_flag').fillna(0)
DMM_pivot = DMM_pivot.apply(lambda x: x / x.sum()).round(2) # Show percentage of total
print DMM_pivot
rpc_flag No RPC OB RPC
DMM_type
Bad 0.34 0.25
Good 0.66 0.75
我想添加一个显示各列百分比差异的列:(OB RPC 值/无 RPC 值 - 1)并期望这些结果:
rpc_flag No RPC OB RPC Change
DMM_type
Bad 0.34 0.25 -0.26
Good 0.66 0.75 0.14
使用申请。
DMM_pivot["Change"] = DMM_pivot.apply(lambda x: x["OB RPC"]/x["No RPC"] -1, axis=1)