我試圖重新安排一些陣列,但它似乎並不總是正常工作怪異的行爲:Python的 - 在陣列重新排序
# Works fine
arr = np.array([2,3,1])
idx1 = np.array([1,0,2])
arr[idx1]
>> array([3, 2, 1])
# Doesn't work
arr = np.array([2,3,1])
idx2 = np.array([2,0,1])
arr[idx2]
>> array([1, 2, 3]) # Should have been [3,1,2]
難道我做錯了什麼?
否,它應該是'[1,2,3]'。 '1'位於pos 2,'2'位於pos 0,'3'位於pos 1.另一種查看方法:在'[1,0,2]'上索引'產生'[3,2,1 ]';爲什麼不反轉索引反轉輸出數組? – erip
要獲得[3,1,2],你需要'idx2 = np.array([1,2,0])'。 –