day1-4-Numpy排序
In [1]:
import numpy as np
In [2]:
array1 = np.array([[1.5,1.3,7.5],
[5.6,7.8,1.2]])
array1
Out[2]:
array([[1.5, 1.3, 7.5],
[5.6, 7.8, 1.2]])
In [3]:
np.sort(array1) #全排序
Out[3]:
array([[1.3, 1.5, 7.5],
[1.2, 5.6, 7.8]])
In [4]:
np.sort(array1,axis = 0) #0维排序
Out[4]:
array([[1.5, 1.3, 1.2],
[5.6, 7.8, 7.5]])
In [5]:
array1 #和上面结果作对比
Out[5]:
array([[1.5, 1.3, 7.5],
[5.6, 7.8, 1.2]])
In [7]:
np.argsort(array1) #排序后的索引位置
Out[7]:
array([[1, 0, 2],
[2, 0, 1]], dtype=int64)
In [10]:
array1 = np.linspace(0,10,10) #0-10之间均匀分布的10个数字
array1
Out[10]:
array([ 0. , 1.11111111, 2.22222222, 3.33333333, 4.44444444,
5.55555556, 6.66666667, 7.77777778, 8.88888889, 10. ])
In [14]:
values = np.array([2.5,6.5,9.5])
In [15]:
np.searchsorted(array1,values) #将values中的元素放在array1的哪里才能保持顺序不变
Out[15]:
array([3, 6, 9], dtype=int64)
In [16]:
array1 = np.array([[1,0,6],
[1,7,0],
[2,3,1],
[2,4,0]])
array1
Out[16]:
array([[1, 0, 6],
[1, 7, 0],
[2, 3, 1],
[2, 4, 0]])
In [ ]:
In [42]:
array1[0,0]
Out[42]:
2
In [18]:
index = np.lexsort([-1*array1[:,0],array1[:,2]]) #第一列降序,第二列升序
index
Out[18]:
array([3, 1, 2, 0], dtype=int64)
In [19]:
array1 = array1[index]
array1
Out[19]:
array([[2, 4, 0],
[1, 7, 0],
[2, 3, 1],
[1, 0, 6]])
In [ ]:

浙公网安备 33010602011771号