2017-02-09 101 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()