熊猫多指数渲染

时间:2015-02-17 13:30:37

标签: python pandas

我经常需要按个人群体和几个变量制作描述性统计表格。我几乎达到了所需的结果,如下所示(列=个人组,行=按感兴趣的变量的统计数据):

group_name        ELF-TA    TOTAL  TOTAL not TA  TOTAL-TA
           stat                                          
nb_c_3km   25%      2.00     1.00          1.00      2.00
           50%      4.00     3.00          2.00      4.00
           75%      6.00     5.00          4.00      6.00
           count  250.00 1,816.00      1,442.00    374.00
           max     17.00    21.00         21.00     16.00
           mean     4.58     3.37          3.14      4.23
           min      0.00     0.00          0.00      0.00
           std      3.14     3.12          3.13      2.93
dist_c     25%      0.45     0.53          0.54      0.50
           50%      0.89     1.01          1.04      0.94
           75%      1.48     1.95          2.15      1.46
           count  250.00 1,836.00      1,462.00    374.00
           max      6.80    19.68         19.68      7.75
           mean     1.17     1.78          1.92      1.21
           min      0.00     0.00          0.00      0.00
           std      1.13     2.25          2.43      1.16

从此我希望能够按照我想要的顺序提取我想要的统计数据,例如只显示平均值,标准和中位数。我接近以下几行:

df_groups_desc.loc[(slice(None), ['mean', 'std', '50%']),:]

...但关闭只是因为我没有按照所需的顺序显示统计数据:

group_name       ELF-TA  TOTAL  TOTAL not TA  TOTAL-TA
           stat                                       
nb_c_3km   50%     4.00   3.00          2.00      4.00
           mean    4.58   3.37          3.14      4.23
           std     3.14   3.12          3.13      2.93
dist_c     50%     0.89   1.01          1.04      0.94
           mean    1.17   1.78          1.92      1.21
           std     1.13   2.25          2.43      1.16

关于合理解决方案的任何提示?

1 个答案:

答案 0 :(得分:1)

reindex可以按顺序选择行:

new_index, indexer = df.index.reindex(['mean', 'std', '50%'], level=1)
df = df.reindex(index=new_index)
print(df)

产量

               ELF-TA TOTAL TOTAL not TA  TOTAL-TA
dist_c   mean    1.17  1.78         1.92      1.21
         std     1.13  2.25         2.43      1.16
         50%     0.89  1.01         1.04      0.94
nb_c_3km mean    4.58  3.37         3.14      4.23
         std     3.14  3.12         3.13      2.93
         50%     4.00  3.00         2.00      4.00
相关问题