2

numpy 配列の 2 つの部分を比較しようとしています。

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

最初の列に時間ステップに対応する整数 0->1000 を繰り返し入力し、2 番目の列にその時間ステップでの人口密度を入力します。時間ステップ長 n の特定のサイクルが完了するたびに、前の 2 つのサイクルの平均、つまり範囲の平均を比較したいと思います: a_matr[in*2,:] から a_matr[in,:],対 a_matr[in,:] から a_matr[i,:] までの範囲の平均。

n は任意であるべきなので、そのような範囲を自動的に選択して np.average() に渡す方法はありますか?

4

1 に答える 1

1

質問を正しく理解していれば、2 つの平均は次のように計算できます。

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

ちなみに、各反復で 2 つの平均を計算すると、それぞれ 2 回計算することになります。代わりに、以前の平均を変数に保持し、各反復で最新の平均のみを計算できます。

于 2013-04-12T08:09:34.953 に答える