4
我有一個「鄰居」二維數組,我想根據另一個矩陣(稱爲「半徑」)中的對應行重新排序每行。下面的代碼工作,但它使用了一個for
循環在一個numpy數組上,我知道這是不正確的方法。這種重新排序的正確numpy/broadcast解決方案是什麼?Numpy:按行排列另一個數組中的行
neighbors = np.array([[8,7,6], [3,2,1]])
radii = np.array([[0.4, 0.2, 0.1], [0.3, 0.9, 0.1]])
order = radii.argsort(axis=1)
for i in range(2):
neighbors[i] = neighbors[i,order[i]]
print(neighbors)
# Result:
[[6 7 8]
[1 3 2]]
非常感謝!我認爲你有一個小小的錯字,把我扔了一分鐘 - 在第一行,我認爲你的最後一頁)應該是] –
你說得很對 - 感謝你指出了這一點! –