我有两组数组data
和result
。 result
在data
中包含相同的元素,但有一个额外的列并且未按顺序排列。我想重新排列result
数组,使其与data
中的行的顺序相同,同时在执行排序时将关联的值与行的其余部分一起放入最后一列。 / p>
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]])
按行进行此类排序有什么好方法?