按 MultiIndex 的一级对 pandas DataFrame 进行排序

Sorting a pandas DataFrame by one level of a MultiIndex

我有一个 MultiIndexed pandas DataFrame 需要按其中一个索引器排序。以下是数据片段:

gene                      VIM  
treatment dose time            
TGFb      0.1  2    -0.158406  
          1    2     0.039158  
          10   2    -0.052608  
          0.1  24    0.157153  
          1    24    0.206030  
          10   24    0.132580  
          0.1  48   -0.144209  
          1    48   -0.093910  
          10   48   -0.166819  
          0.1  6     0.097548  
          1    6     0.026664  
          10   6    -0.008032  

我希望对数据进行排序,以便时间索引按升序排列。我的第一个想法是使用 pandas.sort_values 但这似乎对索引不起作用。有人知道这样做的方法吗?谢谢

使用 sort_index 指定 level:

df.sort_index(level=2)

df.sort_index(level=-1)

df.sort_index(level='time')

所有产量: