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