我试图重新安排一些阵列,但它似乎并不总是正常工作怪异的行为: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])'。 –