数组间隔的平均值,python中的标准差(Pandas)

时间:2014-03-22 02:14:39

标签: python numpy pandas scipy mean

我想计算两个相关阵列(下面的列表)的许多连续间隔的平均值和标准偏差,其中前两列分别是(比如说)时间和距离。第三,第四和第五是平均时间(中心),平均距离和偏差标准。 (实际上我手工制作了这个清单)。如何在示例中看到每三个连续间隔的平均值和标准偏差(但一般可以超过4乘4,10乘10等等)。

所以,我有类似的长列表,我想计算(可能用PANDAS,NUMPY和/或SCIPY)做这样的循环并创建平均时间,平均距离和偏差标准的数组。因此能够绘制距离与时间的关系,并绘制时间和距离的平均值及其标准偏差(误差,称为西格玛)

1  1   2  4.6   3.29
2  4   5  25.6  8.17
3  9   8  64.6  13.07
4  16  11 121.6 17.96
5  25  14 196.6 22.86
6  36  17 289.6 27.76
7  49  20 400.6 32.66
8  64
9  81
10 100
11 121
12 144
13 169
14 196
15 225
16 256
17 289
18 324
19 361
20 400
21 441

我使用errorbar绘制了这个,但我的问题是如何为每个间隔执行循环

enter image description here

1 个答案:

答案 0 :(得分:1)

您可以使用 numpy 执行此操作。 reshape可用于将数据分组为块来计算统计数据:

import numpy as np

// data
time = np.arange(1.0,22.0)
distance = time ** 2

// group data into chunks to get stats
meanTime = np.mean(time.reshape(-1,3),axis=1)
meanDistance = np.mean(distance.reshape(-1,3), axis=1)
std = np.std(distance.reshape(-1,3), axis=1)