Python - 是否可以使用pandas .p​​ipe()添加一个具有2级列标题的新列?

时间:2018-04-02 11:16:03

标签: python pandas

我正在处理多索引数据框,因为我使用了pd.pivot_table。我的列标题中有两个级别。

我目前正在处理它,并希望将两列相加。

我想通过使用.pipe()

处理一个链中的df来使代码更清晰

我想出的是:

reg_cat = 
    1 or 0  total_orders  year
    0       1          2000  2011
    1       0          5500  2012
    2       1          6000  2013
    3       0          1000  2014
    4       0          3000  2015

pivot = (
  reg_cat
  .pivot_table(values=['total_orders'],index=['year'],columns=['1 or 0'], aggfunc=np.sum)
  .reset_index()
  .fillna(0)
  .pipe(lambda x: x.assign(total_orders_total = x['total_orders',0] + x['total_orders',1]))
)

输出如下:

        year total_orders total_orders total_orders_total
1 or 0                  0            1                   
0       2011          0.0       2000.0             2000.0
1       2012       5500.0          0.0             5500.0
2       2013          0.0       6000.0             6000.0
3       2014       1000.0          0.0             1000.0
4       2015       3000.0          0.0             3000.0

如何为列添加第二级列名称" total_orders_total'用这种方法?所以它看起来像这样:

        year total_orders total_orders total_orders_total
1 or 0                  0            1              total
0       2011          0.0       2000.0             2000.0
1       2012       5500.0          0.0             5500.0
2       2013          0.0       6000.0             6000.0
3       2014       1000.0          0.0             1000.0
4       2015       3000.0          0.0             3000.0

0 个答案:

没有答案