簡體   English   中英

Pandas:插入后重新索引多級列

[英]Pandas: reindex multi-level columns after insertion

從兩級列 dataframe 開始,我通過以下方式在第二級添加一列:

for metric in ('test_EER', 'test_AUC'):
    baseline = summary_df[metric]['lower_confidence_bound']['dummy']
    summary_df[metric, 'improvement'] = (summary_df[metric]['lower_confidence_bound'] -baseline)/baseline

這給了我一個無序的列索引,如下所示:

最終數據框

如何重新索引列,以便 ('test_AUC','improvement') 在 ('test_EER') 之前適合。 我也不想改變排序平均值,std,lcb,改進。

對於您的情況,手動安排將起作用:

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

df[cols]

Output:

  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]

將對其他列標簽進行排序。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM