0
说我有一个三维numpy的数组:使用提取从3D numpy的阵列1D阵列2D布尔
i, j, k = 10, 3, 4
arr = np.arange(120).reshape(i, j, k)
和2D布尔数组:
mask = np.random.random((j, k)) > 0.5
n = mask.sum()
我希望能够提取1D沿着其第一维从arr
开始的阵列,其对应于mask
的True
值。结果应该有形状,(i, n)
。这怎么能做到?
我拉了一些旧代码,并由于某种原因,我在做arr[mask]
但这给出了(n, k)
形状(我不知道为什么),并警告:
VisibleDeprecationWarning: boolean index did not match indexed array along dimension 0; dimension is 10949 but corresponding boolean dimension is 11
发布的解决方案是否适合您? – Divakar
是的,谢谢!这现在很有意义。 – pbreach