numpy.searchsorted

原文:https://docs.scipy.org/doc/numpy/reference/generated/numpy.searchsorted.html

译者:飞龙 UsyiyiCN

校对:(虚位以待)

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

查找要插入元素以维持顺序的索引。

找到索引到经排序的数组a中,使得如果v中的对应元素被插入在索引之前,则a的顺序将是保存。

参数:

a:1-D array_like

输入数组。如果分拣机为无,则必须按升序排序,否则分拣机必须是对其进行排序的索引的数组。

v:array_like

要插入a的值。

:{'left','right'},可选

如果“向左”,则给出找到的第一合适位置的索引。如果'right',返回最后这样的索引。如果没有合适的索引,返回0或N(其中N是a的长度)。

排序器:1-D array_like,可选

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

版本1.7.0中的新功能。

返回:

indices:数组的整数

具有与v相同形状的插入点的数组。

也可以看看

sort
返回数组的排序副本。
histogram
从1-D数据生成直方图。

笔记

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

从Numpy 1.4.0 searchsorted起,使用包含nan值的实数/复数数组。增强的排序顺序记录在sort中。

例子

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