df = pd.DataFrame({'id': [1, 2, 3, 4, 5],
'p1': [0, 0, 1, 1, 2],
'p2': [9, 2, 3, 5, 3],
'p3': [1, 3, 10, 3, 7],
'p4': [4, 4, 7, 1, 10]})
df = df.set_index('id')
df
p1 p2 p3 p4
id
1 0 9 1 4
2 0 2 3 4
3 1 3 10 7
4 1 5 3 1
5 2 3 7 10
现在假设我有一个数据框,其中包含 df 数据帧的每个元素所需的行顺序位置。例如,比如说,
order=np.argsort(-df.values,axis=1)
order
array([[1, 3, 2, 0],
[3, 2, 1, 0],
[2, 3, 1, 0],
[1, 2, 0, 3],
[3, 2, 1, 0]], dtype=int64)
如何根据 order 数组的元素对 df 数据帧元素进行排序?
期望的结果是
p1 p2 p3 p4
id
1 9 4 1 0
2 4 3 2 0
3 10 7 3 1
4 5 3 1 1
5 10 7 3 2
偶然的你
慕标琳琳
相关分类