如何计算多索引熊猫数据帧中的平均值和SEM?

时间:2016-11-20 12:46:11

标签: python pandas multi-index

我在pandas数据框中有一些数据有一个三重多索引:

Antibody        Time Repeats          
Customer_Col1A2 0    1        0.657532
                     2        0.639933
                     3        0.975302
                5    1        0.628196
                     2        0.663301
                     3        0.921025
                10   1        0.665601
                     2        0.785324
                     3        0.697913

我的问题是,计算此数据的平均值和(样本)标准误差的最佳方法是什么(按时间点分组?因此0时间点的答案为(0.657532+0.639933+0.975302)/3=0.757589 SD的平均值和0.188750216。输出看起来像这样:

Antibody        Time Average     sample SD
Customer_Col1A2 0    0.757589    0.188750216
                5    ....        ....
                10   ....        ....

提前致谢

1 个答案:

答案 0 :(得分:2)

您可以通过指定level参数按多索引级别进行分组,并相应地使用DataFrame.mean()DataFrame.std()方法计算平均值和SD:

df1.groupby(level=[0,1]).agg({'avg': 'mean', 'sd': 'std'})

enter image description here