平均

2013-04-12 87 views
2

我试图以比较numpy的阵列的两个份numpy的阵列的特定部分:平均

a_matr = np.zeros([time_steps, 2], dtype=float) 

我迭代地填充对应于时间步长0-> 1000的整数的第一列,并且所述第二当时的人口密度列。每次完成给定的时间步长n的循环后,我想比较前两个周期的平均值,即范围的平均值:a_matr [in * 2 ,:]至a_matr [in ,:],与范围a_matr [in ,:]通过a_matr [i ,:]的平均值相比较。

由于n应该是任意的,有没有办法自动选择这样的范围,并将其传递给np.average()?

回答

1

如果我理解正确的问题,两个平均值可以计算如下:

a_matr[i-n*2 : i-n, :].mean() 
a_matr[i-n : i, :].mean() 

顺便说一句,如果你计算每个迭代的两个平均值,你最终计算各两次。相反,您可以将先前的平均值保留在一个变量中,并且只计算每次迭代中的最新值。

+0

是的,这工作!非常感谢。 –