假設我有一個形狀爲2x3x3的陣列,這是一個3D矩陣。我還有一個形狀爲3x3的2D矩陣,我想用它作爲沿第一軸的3D矩陣的索引。示例如下。使用2D矩陣作爲numpy 3D矩陣的索引?
實施例運行:
>>> np.random.randint(0,2,(3,3)) # index
array([[0, 1, 0],
[1, 0, 1],
[1, 0, 0]])
>> np.random.randint(0,9,(2,3,3)) # 3D matrix
array([[[4, 4, 5],
[2, 6, 7],
[2, 6, 2]],
[[4, 0, 0],
[2, 7, 4],
[4, 4, 0]]])
>>> np.array([[4,0,5],[2,6,4],[4,6,2]]) # result
array([[4, 0, 5],
[2, 6, 4],
[4, 6, 2]])
二維數組的形狀與三維數組的形狀有什麼關係? – Divakar
它具有相同的2D形狀,但只有2D。所以3D陣列與2D陣列具有相同的形狀NxN,但具有更多「層」。 –
你的2個不同的矩陣像例子那樣重複數字嗎?否則,您需要提供更多關於您希望輸出結果的信息。例如,0和1對你意味着什麼? – Flynn