要按列对2D numpy数组进行排序,可以使用numpy的argsort函数。下面是一个示例代码:
import numpy as np
# 创建一个随机的2D numpy数组
arr = np.array([[5, 2, 3],
[1, 7, 6],
[4, 8, 9],
[0, 3, 1]])
# 按第一列进行排序
sorted_arr = arr[arr[:, 0].argsort()]
print("按第一列排序后的数组:")
print(sorted_arr)
输出结果:
按第一列排序后的数组:
[[0 3 1]
[1 7 6]
[4 8 9]
[5 2 3]]
要按照浮点数进行排序,可以进行类似的操作,只需将数组中的整数替换为浮点数即可。
import numpy as np
# 创建一个随机的2D numpy数组
arr = np.array([[5.1, 2.2, 3.3],
[1.5, 7.7, 6.6],
[4.4, 8.8, 9.9],
[0.9, 3.4, 1.2]])
# 按第一列进行排序
sorted_arr = arr[arr[:, 0].argsort()]
print("按第一列排序后的数组:")
print(sorted_arr)
输出结果:
按第一列排序后的数组:
[[0.9 3.4 1.2]
[1.5 7.7 6.6]
[4.4 8.8 9.9]
[5.1 2.2 3.3]]
这些示例代码将根据数组的第一列对数组进行排序。如果要按其他列进行排序,只需替换arr[:, 0]
为相应的列索引即可。
上一篇:按列定向的 mat-table
下一篇:按列对2D向量进行随机重排