平均numpy数组的特定部分

时间:2013-04-12 07:55:20

标签: arrays numpy average

我想比较一个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 个答案:

答案 0 :(得分:1)

如果我正确理解了这个问题,可以像这样计算两个平均值:

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

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