我处理的雷达反射率数据有这种形状,我的最终目标是绘制它,但在此之前,我有这个问题-
(2500,50,200) #(scans, rays, altitude)
我还有三个3D numpy阵列,分别对应于纬度、经度和高度,它们的形状与雷达反射率相同,即
(2500,50,200)
大部分数据由零组成。所以我认为在绘制它们之前删除对应于零的条目是有意义的。删除反射率数据中由零组成的条目后,我还需要返回并删除纬度、经度和高度数组中的相应条目。你知道吗
下面是一个玩具的例子
import numpy as np
arr=np.arange(27).reshape((3,3,3))
arrNZ = arr[np.nonzero(arr)]
print(arr.shape,arrNZ)
indx = np.where(arr == 0)
arr1 = np.arange(27).reshape((3,3,3))
n_arr1 = np.delete(arr1,indx)
print(n_arr1.shape)
但这似乎不起作用。该元素似乎未被删除。我哪里出错了?你知道吗
在您的示例中,indx等于(0,0,0)
所以呢np.删除删除了原始数组的第一个元素,然后返回扁平副本(1D副本),因为
axis
的np.delete
参数为零。你知道吗正如sciroccorics所解释的,修剪轴元素的最佳方法是使用索引数组来屏蔽它们。你知道吗
这是你想要的,还是我误解了你的问题?你知道吗
结果:
相关问题 更多 >
编程相关推荐