numpy数组排序

您所在的位置:网站首页 python的多维数组排序 numpy数组排序

numpy数组排序

2023-11-28 12:02| 来源: 网络整理| 查看: 265

sort 函数

先看这个例子:

sort 返回的结果是从小到大排列的。

argsort 函数

argsort 返回从小到大的排列在数组中的索引位置:

可以用它来进行索引:

使用函数并不会改变原来数组的值:

sort 和 argsort 方法

数组也支持方法操作:

二维数组排序

对于多维数组,sort方法默认沿着最后一维开始排序:

对于二维数组,默认相当于对每一行进行排序.

改变轴,对每一列进行排序:

searchsorted 函数 searchsorted(sorted_array, values)

searchsorted 接受两个参数,其中,第一个必需是已排序的数组。

 

 

排序数组:

012340.00.250.50.751.0

数值:

值0.10.80.30.120.50.25插入位置142121

searchsorted 返回的值相当于保持第一个数组的排序性质不变,将第二个数组中的值插入第一个数组中的位置:

例如 0.1 在 [0.0, 0.25) 之间,所以插入时应当放在第一个数组的索引 1 处,故第一个返回值为 1。

 利用插入位置,将数组中所有在这两个值之间的值提取出来.

注:

In [36]: np.searchsorted? Signature: np.searchsorted(a, v, side='left', sorter=None) Docstring: Find indices where elements should be inserted to maintain order. Find the indices into a sorted array `a` such that, if the corresponding elements in `v` were inserted before the indices, the order of `a` would be preserved. Parameters ---------- a : 1-D array_like Input array. If `sorter` is None, then it must be sorted in ascending order, otherwise `sorter` must be an array of indices that sort it. v : array_like Values to insert into `a`. side : {'left', 'right'}, optional If 'left', the index of the first suitable location found is given. If 'right', return the last such index. If there is no suitable index, return either 0 or N (where N is the length of `a`). sorter : 1-D array_like, optional Optional array of integer indices that sort array a into ascending order. They are typically the result of argsort. .. versionadded:: 1.7.0 Returns ------- indices : array of ints Array of insertion points with the same shape as `v`. See Also -------- sort : Return a sorted copy of an array. histogram : Produce histogram from 1-D data. Notes ----- Binary search is used to find the required insertion points. As of NumPy 1.4.0 `searchsorted` works with real/complex arrays containing `nan` values. The enhanced sort order is documented in `sort`. Examples -------- >>> np.searchsorted([1,2,3,4,5], 3) 2 >>> np.searchsorted([1,2,3,4,5], 3, side='right') 3 >>> np.searchsorted([1,2,3,4,5], [-10, 10, 2, 3]) array([0, 5, 1, 2]) File: c:\users\xiaoj\anaconda3\lib\site-packages\numpy\core\fromnumeric.py Type: function

 

 

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3