想要改变世界,就得先改变自己。 ------ 博客首页

2-4 排序

In [2]:
import numpy as np
tang_array = np.array([[1.5,1.3,7.5],
                      [5.6,7.8,1.2]])
tang_array
Out[2]:
array([[1.5, 1.3, 7.5],
       [5.6, 7.8, 1.2]])
In [3]:
np.sort(tang_array)#排序
Out[3]:
array([[1.3, 1.5, 7.5],
       [1.2, 5.6, 7.8]])
In [5]:
np.sort(tang_array,axis=0)
Out[5]:
array([[1.5, 1.3, 1.2],
       [5.6, 7.8, 7.5]])
In [6]:
tang_array
Out[6]:
array([[1.5, 1.3, 7.5],
       [5.6, 7.8, 1.2]])
In [7]:
np.argsort(tang_array)#原来的索引值
Out[7]:
array([[1, 0, 2],
       [2, 0, 1]], dtype=int64)
In [8]:
tang_array=np.linspace(0,10,10)#生产0-10的10个数
tang_array
Out[8]:
array([ 0.        ,  1.11111111,  2.22222222,  3.33333333,  4.44444444,
        5.55555556,  6.66666667,  7.77777778,  8.88888889, 10.        ])
In [9]:
values=np.array([2.5,6.5,9.5])
In [10]:
np.searchsorted(tang_array,values)#索引插值的位置
Out[10]:
array([3, 6, 9], dtype=int64)
In [11]:
tang_array=np.array([[1,0,6],[1,7,0],[2,3,1],[2,4,0]])
tang_array
Out[11]:
array([[1, 0, 6],
       [1, 7, 0],
       [2, 3, 1],
       [2, 4, 0]])
In [29]:
index=np.lexsort([-1*tang_array[:,0],tang_array[:,2]])#有负号就是逆序排序,按照最后后一列的顺序排序
index
Out[29]:
array([0, 1, 2, 3], dtype=int64)
In [30]:
tang_array=tang_array[index]
tang_array
Out[30]:
array([[2, 4, 0],
       [1, 7, 0],
       [2, 3, 1],
       [1, 0, 6]])
posted @ 2019-10-08 16:41  karina512  阅读(174)  评论(0编辑  收藏  举报