Python 熊猫:插入后重新索引多级列

Python 熊猫:插入后重新索引多级列,python,pandas,Python,Pandas,从两级列dataframe开始,我以以下方式在第二级添加列: 对于度量单位('test_EER'、'test_AUC'): 基线=摘要[度量][“置信下限”][“虚拟”] 摘要[指标,'改善']=(摘要[指标][置信下限]-基线)/基线 这给了我一个无序的列索引,如下所示: 如何对列重新编制索引,以便('test\u AUC','profection')在('test\u EER')之前适合。此外,我不想更改订购平均值、标准偏差、lcb、改进。对于您的情况,手动安排将起作用: cols =

从两级列dataframe开始,我以以下方式在第二级添加列:

对于度量单位('test_EER'、'test_AUC'):
基线=摘要[度量][“置信下限”][“虚拟”]
摘要[指标,'改善']=(摘要[指标][置信下限]-基线)/基线
这给了我一个无序的列索引,如下所示:


如何对列重新编制索引,以便('test\u AUC','profection')在('test\u EER')之前适合。此外,我不想更改订购平均值、标准偏差、lcb、改进。

对于您的情况,手动安排将起作用:

cols = pd.MultiIndex.from_product((['test_AUC', 'test_EER'],
                                   ['mean', 'std', 'lower_bound', 'improvement']
                                  )
                                 )

df[cols]
输出:

  test_AUC                             test_EER                            
      mean std lower_bound improvement     mean std lower_bound improvement
0        0   0           0         0.6        0   0           0         0.1

概括@QuangHoang的回答:

cols = pd.MultiIndex.from_product( df.columns.levels)
df = df[cols]
将对其他列标签进行排序