要按列对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向量进行随机重排