2

我正在尝试比较 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()?

4

1 回答 1

1

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

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

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

于 2013-04-12T08:09:34.953 回答