[英]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.