我有一个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它将如果我有700阵列形状(7000,7000)... – Chiefscreation
我不知道如何在python中做到这一点,但你有没有考虑过多线程或并行处理?我知道在C中可以这样做来加速大数据处理。 – Michael