2017-02-09 64 views
-1

我有一个数据帧,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 %']

如果有人能帮助我,这将是伟大的。

+0

对于列索引我希望改变从顺序的所述第二电平; [“保证金%”,“销售-GST $”]至[“销售-GST $”,“保证金%”] – user2990696

+0

嗨,欢迎来到StackOverflow!为了便于阅读,我编辑了你的问题来格式化代码段。我还自愿删除对指南的要求,因为异地请求的资源不属于SO。 – SiHa

回答

0

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

例如,看到您的输出,您可能会创建多个索引,如下所示。 arrays = [np.array(['Monday','Tuesday','Wednesday']), np.array(['Margin $','Margin%','Sales -GST $','entity']] )]

在上面您可以根据您的需要更改顺序。

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

1

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

df.index.swaplevel()