我有一个3D阵列的形状(3,5,5)如下所示。我想从索引为0的列为NaN的组成2D数组中筛选出所有记录(行)。
我在下面尝试过,但它返回的是2D数组,而不是所需的3D数组。
arr[ np.where(arr[:, :, 0] != np.nan)]
你能建议一下实现所述目标的正确方法吗?
谢谢!
[[[1. 0. 0.10. 0.]
[2. 0. 0. 9. 0.]
[nan. 0. 0. 8. 0.]
[4. 0. 0. 7. 0.]
[nan. 0. 0. 6. 0.]]
[[1. 0. 0. 199. 0.]
[2. 0. 0. 198. 0.]
[3. 0. 0. 196. 0.]
[nan. 0. 0. 190. 0.]
[nan. 0. 0. 160. 0.]]
[[1. 0. 0. 999. 0.]
[2. 0. 0. 870. 0.]
[nan. 0. 0. 270. 0.]
[nan. 0. 0. 100. 0.]
[nan. 0. 0. 80. 0.]]]
1条答案
按热度按时间ryevplcw1#
您可以尝试使用2D数组列表作为结果,因为经过
na
过滤后,内部的2D数组的形状将不同,因此它们不能堆叠在一起形成3D数组。结果: