PANDAS:将2行df转换为单行多级列df

时间:2018-11-05 16:49:29

标签: python pandas

一段时间以来,我一直在寻找问题的答案,但找不到任何可以产生所需结果的东西。

问题是这样的:我有一个包含两行的数据框,我想将其合并成具有多级列的单行数据框。使用下面的示例(我在excel中起草的示例可以更好地可视化所需的输出),我希望新的DF具有多列索引,其第一级基于原始列AC,然后基于该列添加一个新的列子级。原始“名称”列中的值。我很有可能不正确地使用现有功能。如果您能为我提供最简单的更改数据框的方法,我将不胜感激!

构造当前df的代码:

import pandas as pd
df = pd.DataFrame([['Alex',1,2,3],['Bob',4,5,6]],columns='Name A B 
C'.split())

具有所需输出的当前df的图像:

enter image description here

1 个答案:

答案 0 :(得分:1)

使用set_index + unstack

df.set_index('Name').unstack().to_frame().T
Out[198]: 
        A        B        C    
Name Alex Bob Alex Bob Alex Bob
0       1   4    2   5    3   6