如何计算多索引 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'})
我在 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'})