在numpy中,我有一個3d數組,我會ike刪除一些2d子數組。想想看這樣的:從numpy的3d數組中刪除2d子數組
r = range(27)
arr = np.reshape(r, (3,3,3))
del = [[0,1,2],[0,0,2]]
flatSeam = np.ravel_multi_index(del, arr.shape)
arr = np.delete(arr, flatSeam)
所以在最後我想有形狀(3,2,3)
沒有從原來的數組中的元素00, 10, 22
的數組。我的問題是我沒有使用ravel_multi_index
,因爲我的索引是2d,數組形狀是3d,所以計算了錯誤的索引(上面的代碼也不會執行,因爲索引數組和形狀必須相同尺寸)。
你有什麼想法,我可以做到這一點?
因此,'del'的第一行將會一直存在是範圍(arr.shape [1])',就像你有'[0,1,2],'在這裏? – Divakar
'del'的第一行應該是'range(arr.shape [0])'。所以第一行是行索引,第二行是列索引。 – Cilenco
啊,這是有道理的。 – Divakar