numpy按照某列排序
numpy.lexsort() 用于对多个序列进行排序。把它想象成对电子表格进行排序,每一列代表一个序列,排序时优先照顾靠后的列。不修改原数组,返回索引。按照第一列排序,如:import numpy as npa = [[100, 2, 34], [12, 45, 2], [45, 90, 21]]a = np.array(a)b = a[:, 0] # [1001245]index = np.l
·
numpy.lexsort()
用于对多个序列进行排序。把它想象成对电子表格进行排序,每一列代表一个序列,排序时优先照顾靠后的列。
- 不修改原数组,返回索引。
按照第一列排序,如:
import numpy as np
a = [[100, 2, 34], [12, 45, 2], [45, 90, 21]]
a = np.array(a)
b = a[:, 0] # [100 12 45]
index = np.lexsort((b,)) # [1 2 0]
print(a[index])
结果:
[[ 12 45 2]
[ 45 90 21]
[100 2 34]]
按照第一行排序,如:
import numpy as np
a = [[100, 2, 34], [12, 45, 2], [45, 90, 21]]
a = np.array(a)
b = a[0, :] # [100 2 34]
index = np.lexsort((b,)) # [1 2 0]
print(a.T[index].T)
结果:
[[ 2 34 100]
[ 45 2 12]
[ 90 21 45]]
更多推荐
已为社区贡献7条内容
所有评论(0)