熊猫数据框如何合并列

Phu*_*goc 5 python dataframe pandas

我有一个熊猫数据框,如图片所示。我如何将其变成如下表所示。(演示是在excel中进行的,但我只想向您说明表格的外观-这个问题与从excel导入和导出数据框无关)

谢谢 在此处输入图片说明

jpp*_*jpp 5

这是不可能的。

底层pandas.DataFrame对象是numpy数组,它们不会按照您建议的方式对数据进行分组。因此,不能将任意列显示为分组数据。

选项1

使用MultiIndex 可以部分复制所需的输出:

import pandas as pd

df = pd.DataFrame([['AAA', 8, 2, 'BBB'],
                   ['AAA', 9, 5, 'BBB'],
                   ['AAA', 10, 6, 'BBB']],
                  columns=['Name', 'Score1', 'Score2', 'PM'])

res = df.set_index(['Name', 'PM'])
Run Code Online (Sandbox Code Playgroud)

结果:

          Score1  Score2
Name PM                 
AAA  BBB       8       2
     BBB       9       5
     BBB      10       6
Run Code Online (Sandbox Code Playgroud)

选项2

或者,您可以set_index在3列上添加一个虚拟列:

df['dummy'] = 0
res = df.set_index(['Name', 'PM', 'dummy'])
Run Code Online (Sandbox Code Playgroud)

结果:

                Score1  Score2
Name PM  dummy                
AAA  BBB 0           8       2
         0           9       5
         0          10       6
Run Code Online (Sandbox Code Playgroud)