У меня есть xyz (координаты xy по высоте), которые представляют собой миллион точек.Любой вид сетки не возможен из-за памяти и не требуется.То, что я хочу, это обеспечить сетку для себя и с помощью простого поиска в каждой ячейке, чтобы иметь возможность найти среднее значение.
Другими словами, я создал следующий скрипт (Xp, Yp и Zвекторы с данными)
delta=1 # desired resolution
xmin=np.min(Xp)
xmax=np.max(Xp)
ymin=np.min(Yp)
ymax=np.max(Yp)
x_idx=np.arange(xmin+delta/2,xmax-delta/2,delta)
y_idx=np.arange(ymin+delta/2,ymax-delta/2,delta)
gridc=np.zeros((x_idx.shape[0],y_idx.shape[0]))
for ii in range(0,x_idx.shape[0]):
for jj in range(0,y_idx.shape[0]):
dummy1=np.where( (Xp>=x_idx[ii]-delta/2) & (Xp<x_idx[ii]+delta/2) &
(Yp>=y_idx[jj]-delta/2) & (Yp<y_idx[jj]+delta/2)
)[0]
gridc[ii,jj]=np.nanmean(Z[dummy1])
Есть ли лучший способ, реализованный в python?Это не очень эффективное программирование.