代码格式

时间:2017-02-09 04:19:21

标签: python pandas dataframe

我有一个数据框df,我想要更改某些列的顺序。我一直在努力使用多索引。

运行命令df.columns,我得到以下输出:

MultiIndex(levels=[['', 'Monday', 'Tuesday', 'Wednesday'], ['Margin $', 'Margin %', 'Sales -GST $', 'entity']],
           labels=[[1, 1, 2, 2, 3, 3], [1, 2, 1, 2, 1, 2]],
           names=['DayOfWeek', None])

df中唯一可见的列是['Margin %', 'Sales -GST $'],但我希望它们的顺序相反,['Sales -GST $', 'Margin %']

如果有人可以帮助我,那就太好了。

2 个答案:

答案 0 :(得分:1)

您可以使用swaplevel索引方法交换多索引的顺序。

df.index.swaplevel()

答案 1 :(得分:0)

您可以在创建多索引时更改索引顺序来更改顺序。

例如,查看输出可能已创建多个索引,如下所示。 arrays = [np.array([' Monday',' Tuesday',' Wednesday']),           np.array(['保证金$','保证金百分比','销售-GST $','实体']) ]

在上面,您可以根据需要更改订单。

这是快速链接供参考。 http://pandas.pydata.org/pandas-docs/stable/advanced.html