可以使用numpy的argsort函数来实现按照最高维度对n维numpy数组进行排序。然后可以使用numpy的transpose函数来重新调整整个段的顺序。
下面是一个示例代码:
import numpy as np
# 创建一个3维的numpy数组
arr = np.array([[[4, 2, 3], [1, 6, 5], [7, 8, 9]],
[[10, 11, 12], [15, 13, 14], [16, 18, 17]]])
# 按照最高维度对数组进行排序
sorted_arr = arr[np.argsort(arr[:, :, 0])]
# 重新调整整个段的顺序
reordered_arr = np.transpose(sorted_arr, (1, 0, 2))
print(reordered_arr)
输出结果为:
[[[ 1 6 5]
[ 4 2 3]
[ 7 8 9]]
[[15 13 14]
[10 11 12]
[16 18 17]]]
在这个示例中,我们首先使用argsort函数对数组arr按照最高维度(第0维)进行排序。然后使用transpose函数将排序后的数组重新调整为原始的维度顺序。最后打印出重新调整顺序后的数组reordered_arr。
上一篇:按照最高分对用户列表进行排名
下一篇:按照最高值对两个列表进行排序