平均

2013-04-12 125 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

是的,這工作!非常感謝。 –