私はndarrayを持っています。配列のすべての値を隣接する要素の平均で置き換えたいと思います。下のコードは仕事をすることができますが、私は700の配列をすべて形(7000,7000)で持っていると非常に遅いので、もっと良い方法があるのだろうかと思います。ありがとう!Numpy:配列内のすべての値を隣接する要素の平均で置き換えます。
a = np.array(([1,2,3,4,5,6,7,8,9],[4,5,6,7,8,9,10,11,12],[3,4,5,6,7,8,9,10,11]))
row,col = a.shape
new_arr = np.ndarray(a.shape)
for x in xrange(row):
for y in xrange(col):
min_x = max(0, x-1)
min_y = max(0, y-1)
new_arr[x][y] = a[min_x:(x+2),min_y:(y+2)].mean()
print new_arr
私はゆっくりと動作しているわけではなく、ゆっくりと動作するようにも見えません。 –
@EliSadoffもし私が形状(7000,7000)のすべての700の配列を持っていれば... – Chiefscreation
私はPythonでそれを行う方法はわかりませんが、マルチスレッドや並列処理を考慮していますか?私はCで大規模なデータ処理を高速化するためにこれを行うことができます知っています。 – Michael