带有堆叠列的熊猫数据透视表

时间:2020-03-25 09:05:16

标签: python python-3.x pandas dataframe pivot-table

我在下面的代码中有一个DataFrame。

import pandas as pd
df = pd.DataFrame({
    'asset_id': ['A1','A1', 'B1', 'B1', 'B1'],
    'dt': ['2015-10', '2015-11', '2015-11', '2015-12', '2016-01'],
    'dep': [100, 100, 200, 200, 150]
})
df['accum'] = df.groupby(by=['asset_id'])['dep'].cumsum()
print(df)
  asset_id       dt  dep  accum
0       A1  2015-10  100    100
1       A1  2015-11  100    200
2       B1  2015-11  200    200
3       B1  2015-12  200    400
4       B1  2016-01  150    550

如果我做数据透视表,则会得到如下结果:

print(df.pivot_table(values=['dep','accum'],columns=['dt'],index=['asset_id']))
           accum                             dep                        
dt       2015-10 2015-11 2015-12 2016-01 2015-10 2015-11 2015-12 2016-01
asset_id                                                                
A1         100.0   200.0     NaN     NaN   100.0   100.0     NaN     NaN
B1           NaN   200.0   400.0   550.0     NaN   200.0   200.0   150.0

但是我怎么能得到这样的结果:

dt         2015-10      2015-11       2015-12       2016-01
           accum   dep  accum   dep   accum   dep   accum   dep
asset_id
   A1      100     100  200     100   NaN     NaN   NaN     NaN
   A2      NaN     NaN  200     200   400     200   550     150

这是我能描述的最好的问题。一些帮助会有所帮助。 这是小提琴链接https://pyfiddle.io/fiddle/d1eeab6a-79cb-458e-9c0f-867842a44ffb/?i=true

0 个答案:

没有答案