我现在尝试将具有三维坐标(x,y,z)的n个点投影到具有特定大小(如64*64)的xy网格上,当然这n个点的坐标在此网格中受到限制
目标是打印投影到每个栅格元素上的点的z坐标。我写了两个for循环,但是有没有更好的方法来避免使用for循环来更快地运行它呢
for i in range(XY_grid.shape[0]):
x = np.where((X_coordinate > i) & (X_coordinate <= i + 1), 1, 0)
for j in range(XY_grid.shape[1]):
y = np.where(( Y_coordinate > j) & (Y_coordinate <= j + 1), 1, 0)
print(x * y * Z_coordinate)
我认为您需要的是二维直方图:
您可以使用
weight
参数添加z
值:您可以更改
bins
宽度等,使其不均匀,或使其均匀分布在规则栅格中生成的
grid
是一个2D numpy数组,其中包含落入每个bin的所有z
信息。您可以轻松地print
它或循环它以依次获得每个元素要打印
Z_coordinate
中与X_coordinate
和Y_coordinate
中特定点相关的所有条目,可以执行以下操作:相关问题 更多 >
编程相关推荐