由于两个光栅(raster1和raster2)相互重叠,我想通过计算每个重叠像素的平均值来制作新的光栅;即,生成的新栅格计算如下:
new = [[mean(1,3), mean(1,3), mean(1,3), mean(1,3), mean(1,3)],[mean(2,4),mean(2,4),mean(2,4),mean(2,4),mean(2,4)]]
import numpy as np
raster1 = np.array([[1,1,1,1,1],[2,2,2,2,2]])
raster2 = np.array([[3,3,3,3,3],[4,4,4,4,4]])
new = np.mean(raster1,raster2,axis=1)
print (new.tolist())
有什么问题?
答案 0 :(得分:3)
也许我误解了你,但你想要吗?
raster = (raster1 + raster2) / 2
实际上在这种情况下你甚至不需要np.mean
,只需使用矩阵运算。
np.mean
用于处理特定轴上单个矩阵的计算均值,因此情况不同。
答案 1 :(得分:1)
应该是
new = np.mean([raster1,raster2],axis=1)
带括号的其实我猜它应该是 它应该是
new = np.mean([raster1,raster2],axis=0)
np.mean的第一个参数应该是整个数组,参见例如http://wiki.scipy.org/Numpy_Example_List_With_Doc#mean