如何计算多索引 pandas 数据框中的平均值和 SEM?

How to calculate averages and SEM in a multi-indexed pandas dataframe?

我在 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 表示平均值,0.188750216 表示 SD。输出看起来像这样:

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

提前致谢

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

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