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