Python 熊猫多索引渲染
我经常需要按个人群体和几个变量编制描述性统计表。我几乎达到了预期的结果,如下所示(列=个人组,行=感兴趣变量的统计): 从这里,我希望能够提取我想要的统计数据,并按照我想要的顺序,例如简单地显示平均值、标准差和中位数。我通过以下几行来接近这一点:Python 熊猫多索引渲染,python,pandas,Python,Pandas,我经常需要按个人群体和几个变量编制描述性统计表。我几乎达到了预期的结果,如下所示(列=个人组,行=感兴趣变量的统计): 从这里,我希望能够提取我想要的统计数据,并按照我想要的顺序,例如简单地显示平均值、标准差和中位数。我通过以下几行来接近这一点: df_groups_desc.loc[(slice(None), ['mean', 'std', '50%']),:] 。。。但之所以关闭,是因为我没有按所需顺序显示统计数据: group_name ELF-TA TOTAL TOTA
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
关于合理解决方案的任何提示?
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
为了记录在案:出于某种原因,0.15.0不适用于熊猫,但0.15.2也可以。谢谢!
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