单个数组的排序很简单,直接用sort就能完成,如一下ipython代码:
In [39]: array = [4, 2, 5, 1, 3]
In [40]: array.sort()
多维数组的排序如直接用sort讲会按第一维的数据进行排序,如:
In [42]: array = [ ['b', 4], ['e', 2], ['a', 5], ['d', 1], ['c', 3] ]
In [43]: array.sort()
注意:如果这个0列排序,其他列同步变化
但是,numpy的排序是
import numpy as np
a = np.array([[4,3,5,],[1,2,1]])
print(a)
b = np.sort(a, axis=1)
# 对a按每行中元素从小到大排序print(b)
#b = np.sort(a, axis=0) 会对a按每列中元素从小到大排序,与上面的排序不同,使用千万注意
这是对numpy 的多维ndarray按照第一列进行排序
lines.shape = (len(lines),2)# 变成多行2列
# new = lines.reshape((len(lines), 2))#变成多行2列 m = lines.tolist() m.sort() lines=np.float32(np.array(m))
先转为list,排序后再转为ndarray
如何按第二维的数据进行排序呢,我们可以用sort函数中的k