dask.array.searchsorted
dask.array.searchsorted¶
- dask.array.searchsorted(a, v, side='left', sorter=None)[源代码]¶
查找元素应插入以保持顺序的索引位置。
此文档字符串是从 numpy.searchsorted 复制而来的。
Dask 版本可能存在一些不一致性。
找到排序数组 a 中的索引,使得如果 v 中对应的元素插入到这些索引之前,a 的顺序将被保留。
假设 a 已排序:
side
返回的索引 i 满足
左
a[i-1] < v <= a[i]正确
a[i-1] <= v < a[i]- 参数
- a1-D array_like
输入数组。如果 sorter 为 None,则必须按升序排序,否则 sorter 必须是一个排序索引的数组。
- varray_like
插入到 a 中的值。
- 侧面{‘left’, ‘right’}, 可选
如果为 ‘left’,则返回找到的第一个合适位置的索引。如果为 ‘right’,则返回最后一个这样的索引。如果没有合适的索引,则返回 0 或 N(其中 N 是 a 的长度)。
- 排序器1-D 类数组, 可选
可选的整数索引数组,将数组 a 按升序排序。它们通常是 argsort 的结果。
1.7.0 新版功能.
- 返回
- 索引整数或整数数组
插入点数组,形状与 v 相同,如果 v 是标量,则为整数。
参见
sort返回数组的排序副本。
histogram从一维数据生成直方图。
注释
二分搜索用于找到所需的插入点。
从 NumPy 1.4.0 开始,searchsorted 可以处理包含 nan 值的实数/复数数组。增强的排序顺序在 sort 中进行了文档化。
此函数使用与内置 Python bisect.bisect_left`(``side=’left’`)和 bisect.bisect_right`(``side=’right’`)函数相同的算法,该算法在 v 参数中也进行了向量化。
示例
>>> import numpy as np >>> np.searchsorted([11,12,13,14,15], 13) 2 >>> np.searchsorted([11,12,13,14,15], 13, side='right') 3 >>> np.searchsorted([11,12,13,14,15], [-10, 20, 12, 13]) array([0, 5, 1, 2])