【发布时间】:2017-03-01 21:44:46
【问题描述】:
假设我有一个 3d numpy 数组:
i, j, k = 10, 3, 4
arr = np.arange(120).reshape(i, j, k)
和一个二维布尔数组:
mask = np.random.random((j, k)) > 0.5
n = mask.sum()
我希望能够从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
【问题讨论】:
-
发布的解决方案对您有用吗?
-
是的,谢谢!现在这很有意义。
标签: python arrays numpy indexing reshape