np.lexsort() 这种排序方式,是根据给定参数从最后一个参数开始进行排序,如果最后一个参数给定的值相同,则根据倒数第二个参数进行排序,以此类推。
dataset = np.array(
[[0.1400, -0.0300, 0.0000],[0.0300, -0.1900, 0.0000],
[0.8850, -1.8700, 0.0000], [0.9350, -1.8700, 0.0000]])
#如 按照dataset的第一列排序,
# 先将第一列的所有数据取出组成一维数组[dataset[:,0]]
#再按照一维数组[dataset[:,0]]排序,返回序列号,既返回dataset的行号
index = np.lexsort([dataset[:,0]])#注意两个[]
print(f"index:{index}")
#再根据排列的行号对dataset排序
print(f"按照第一列排序的结果:{dataset[index, :]}")
运行结果如下
index:[1 0 2 3]
按照第一列排序的结果:[[ 0.03 -0.19 0. ]
[ 0.14 -0.03 0. ]
[ 0.885 -1.87 0. ]
[ 0.935 -1.87 0. ]]