我有兩組數組data
和result
。 result
在data
中包含相同的元素,但具有額外的列和未排序的順序。我想重新排列result
數組,使其與data
中的行的順序相同,同時在執行排序時將相關值與行的其餘部分一起放入最後一列。基於來自另一個陣列的數據對numpy數組排序
data = np.array([[0,1,0,0],[1,0,0,0],[0,1,1,0],[0,1,0,1]])
result = np.array([[0,1,1,0,1],[1,0,0,0,0],[0,1,0,0,1],[0,1,0,1,0]])
# this is what the final sorted array should look like:
'''
array([[0, 1, 0, 0, 1],
[1, 0, 0, 0, 0],
[0, 1, 1, 0, 1],
[0, 1, 0, 1, 0]])
'''
我試着做argsort
爲了扭轉data
然後將排定的順序將其應用於result
但argsort
似乎排序基於每個元素的排列順序,而我想要的那種對待每作爲整體的data[:,4]
的排。
ind = np.argsort(data)
indind =np.argsort(ind)
ind
array([[0, 2, 3, 1],
[1, 2, 3, 0],
[0, 3, 1, 2],
[0, 2, 1, 3]])
什麼是按行進行這種排序的好方法?
是額外的列總是放在序列的最後? – Deusdeorum