numpy.searchsorted

numpy.searchsorted(a, v, side='left', sorter=None)[源代码]

查找应在其中插入元素以保持顺序的索引。

将索引查找到已排序的数组中 a 这样,如果在 v 在索引前插入 a 会被保存。

假设 a 排序:

side

返回索引 i 满足

左边

a[i-1] < v <= a[i]

正确的

a[i-1] <= v < a[i]

参数
a一维阵列

输入数组。如果 sorter 如果为“无”,则必须按升序排序,否则 sorter 必须是对其排序的索引数组。

varray_like

要插入的值 a .

side'左','右',可选

如果“左”,则给出找到的第一个合适位置的索引。如果“正确”,则返回最后一个此类索引。如果没有合适的索引,返回0或n(其中n是 a

sorter一维数组,可选

将数组A按升序排序的整数索引的可选数组。它们通常是argsort的结果。

1.7.0 新版功能.

返回
indices数组数组

形状与相同的插入点数组 v .

参见

sort

返回数组的已排序副本。

histogram

根据一维数据生成柱状图。

笔记

二进制搜索用于查找所需的插入点。

从numpy 1.4.0开始 searchsorted 使用包含 nan 价值观。增强的排序顺序记录在 sort .

This function uses the same algorithm as the builtin python bisect.bisect_left (side='left') and bisect.bisect_right (side='right') functions, which is also vectorized in the v argument.

实例

>>> 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])