为了账号安全,请及时绑定邮箱和手机立即绑定

在没有明确级别名称的情况下转向多索引

在没有明确级别名称的情况下转向多索引

郎朗坤 2021-06-14 15:35:16
我想将数据框重塑为具有两个级别的列,而不指定子级别的名称。例如,最初我的数据如下所示,索引为“日期”和“产品”,然后是一些列:                    a           bdate    product             2011-11 foo         1.          2.1 2011-12 foo         2.432       2.3 2012-01 bar         0.4         1.7 2012-01 foo         0.84        1.8 2014-06 bar         0.          2.  2014-07 bar         1.68        3.  请注意,每个日期有一行,产品组合(索引是唯一的)。我想将其重塑为单个索引日期,将产品移动到列级别:                     foo                   bar                a           b        a           bdate    2011-11         1.          2.1      NaN         NaN2011-12         2.432       2.3      NaN         NaN2012-01         0.84        1.8      0.4         1.72014-06         NaN         NaN      0.          2. 2014-07         NaN         NaN      1.68        3. 我不确定如何编写数据透视表,因为列名 a 和 b 不是固定的,并且每次此过程运行时可能或多或少。
查看完整描述

1 回答

?
湖上湖

TA贡献2003条经验 获得超2个赞

使用unstack和swaplevel:


df.unstack(1).swaplevel(1,0, axis=1).sort_index(1)

product   bar         foo

            a    b      a    b

date

2011-11   NaN  NaN  1.000  2.1

2011-12   NaN  NaN  2.432  2.3

2012-01  0.40  1.7  0.840  1.8

2014-06  0.00  2.0    NaN  NaN

2014-07  1.68  3.0    NaN  NaN


查看完整回答
反对 回复 2021-06-16
  • 1 回答
  • 0 关注
  • 126 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号