Pandas:通过组合索引和列名来透视和展平列

我想在 Pandas 中旋转数据框。我在这里关注文档:https : //pandas.pydata.org/pandas-docs/stable/reshaping.html


从这个数据帧:


         date variable     value

0  2000-01-03        A  0.469112

1  2000-01-04        A -0.282863

2  2000-01-05        A -1.509059

3  2000-01-03        B -1.135632

4  2000-01-04        B  1.212112

5  2000-01-05        B -0.173215

6  2000-01-03        C  0.119209

7  2000-01-04        C -1.044236

8  2000-01-05        C -0.861849

9  2000-01-03        D -2.104569

10 2000-01-04        D -0.494929

11 2000-01-05        D  1.071804

跑步 df.pivot(index='date', columns='variable', values='value')


会给我这个:


variable           A         B         C         D

date                                              

2000-01-03  0.469112 -1.135632  0.119209 -2.104569

2000-01-04 -0.282863  1.212112 -1.044236 -0.494929

2000-01-05 -1.509059 -0.173215 -0.861849  1.071804

我最终得到了一个 MultiIndex 数据帧。一张图片可能更能描述发生的事情:

http://img1.mukewang.com/611792080001e7f709130467.jpg

但是,我想这样做:

http://img2.mukewang.com/611792130001722a09120468.jpg

我能找到的所有将多索引展平的方法最终都会在不同的行上给我 foo 和 bar。你能帮我一下吗?


长风秋雁
浏览 155回答 2
2回答

哈士奇WWW

好的,经过几个小时的密集搜索,这是我找到的简单解决方案:df.columns = [col[0] + f"_r{col[1]}" for col in df.columns]
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python