Python 对数据帧的列进行排序

Python 对数据帧的列进行排序,python,pandas,sorting,dataframe,Python,Pandas,Sorting,Dataframe,我需要一个接一个的MOBILE.minutes和MOBILE.growth 我试过这个 Out[1015]: gp2 department MOBILE QA TA WEB MOBILE QA TA WEB minutes minutes minutes minutes growth growth growth growth period

我需要一个接一个的MOBILE.minutes和MOBILE.growth

我试过这个

Out[1015]: gp2
department  MOBILE      QA      TA     WEB MOBILE     QA     TA    WEB
           minutes minutes minutes minutes growth growth growth growth
period                                                                
2016-12-24     NaN     NaN   140.0   400.0    NaN    NaN    0.0  260.0
2016-12-25     NaN     NaN     NaN    80.0    NaN    NaN    NaN -320.0
2016-12-26     NaN     NaN     NaN    20.0    NaN    NaN    NaN  -60.0
2016-12-27     NaN    45.0     NaN   180.0    NaN   25.0    NaN  135.0
2016-12-28   600.0     NaN     NaN    15.0  420.0    NaN    NaN -585.0
...            ...     ...     ...     ...    ...    ...    ...    ...
2017-01-03     NaN     NaN     NaN    80.0    NaN    NaN    NaN -110.0
2017-01-04    20.0     NaN     NaN     NaN  -60.0    NaN    NaN    NaN
2017-02-01   120.0     NaN     NaN     NaN  100.0    NaN    NaN    NaN
2017-02-02    45.0     NaN     NaN     NaN  -75.0    NaN    NaN    NaN
2017-02-03     NaN    45.0     NaN    30.0    NaN    0.0    NaN  -15.0

它只对列进行排序,但没有为它们指定正确的值

只需使用
df.sort\u索引

In [1019]:gp2.columns = gp2.columns.sort_values()
In [1020]: gp2
Out[1020]: 
department MOBILE             QA             TA            WEB        
           growth minutes growth minutes growth minutes growth minutes
period                                                                
2016-12-24    NaN     NaN  140.0   400.0    NaN     NaN    0.0   260.0
2016-12-25    NaN     NaN    NaN    80.0    NaN     NaN    NaN  -320.0
2016-12-26    NaN     NaN    NaN    20.0    NaN     NaN    NaN   -60.0
2016-12-27    NaN    45.0    NaN   180.0    NaN    25.0    NaN   135.0
2016-12-28  600.0     NaN    NaN    15.0  420.0     NaN    NaN  -585.0
...           ...     ...    ...     ...    ...     ...    ...     ...
2017-01-03    NaN     NaN    NaN    80.0    NaN     NaN    NaN  -110.0
2017-01-04   20.0     NaN    NaN     NaN  -60.0     NaN    NaN     NaN
2017-02-01  120.0     NaN    NaN     NaN  100.0     NaN    NaN     NaN
2017-02-02   45.0     NaN    NaN     NaN  -75.0     NaN    NaN     NaN
2017-02-03    NaN    45.0    NaN    30.0    NaN     0.0    NaN   -15.0
df = df.sort_index(level=[0, 1], axis=1)
print(df)

           MOBILE             QA             TA            WEB        
           growth minutes growth minutes growth minutes growth minutes
period                                                                
2016-12-24    NaN     NaN    NaN     NaN    0.0   140.0  260.0   400.0
2016-12-25    NaN     NaN    NaN     NaN    NaN     NaN -320.0    80.0
2016-12-26    NaN     NaN    NaN     NaN    NaN     NaN  -60.0    20.0
2016-12-27    NaN     NaN   25.0    45.0    NaN     NaN  135.0   180.0
2016-12-28  420.0   600.0    NaN     NaN    NaN     NaN -585.0    15.0
2017-01-03    NaN     NaN    NaN     NaN    NaN     NaN -110.0    80.0
2017-01-04  -60.0    20.0    NaN     NaN    NaN     NaN    NaN     NaN
2017-02-01  100.0   120.0    NaN     NaN    NaN     NaN    NaN     NaN
2017-02-02  -75.0    45.0    NaN     NaN    NaN     NaN    NaN     NaN
2017-02-03    NaN     NaN    0.0    45.0    NaN     NaN  -15.0    30.0