Spec-Zone.ru › NumPy 1.17

numpy.searchsorted

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

Найти индексы, куда следует вставить элементы для сохранения порядка.

Найдите индексы в отсортированном массиве a такие, что если соответствующие элементы в v были вставлены перед индексами, порядок a сохранялся бы.

Предполагая, что a отсортирован:

side возвращенный индекс i удовлетворяет
left a[i-1] < v <= a[i]
right a[i-1] <= v < a[i]
Параметры:
a : 1-D array_like

Входной массив. Если sorter равно None, то он должен быть отсортирован по возрастанию, в противном случае sorter должен быть массивом индексов, которые его сортируют.

v : array_like

Значения для вставки в a.

side : {‘left’, ‘right’}, optional

Если ‘left’, возвращается индекс первого подходящего места. Если ‘right’, возвращается последний такой индекс. Если подходящего индекса нет, возвращается либо 0, либо N (где N — длина a).

sorter : 1-D array_like, optional

Необязательный массив целочисленных индексов, которые сортируют массив a по возрастанию. Обычно они являются результатом argsort.

Новое в версии 1.7.0.

Возвращает:
indices : array of ints

Массив точек вставки с той же формой, что и v.

См. также

sort
Возвращает отсортированную копию массива.
histogram
Построение гистограммы из 1-мерных данных.

Примечания

Для поиска необходимых точек вставки используется бинарный поиск.

Начиная с NumPy 1.4.0 searchsorted работает с вещественными/комплексными массивами, содержащими значения nan. Улучшенный порядок сортировки документирован в sort.

Эта функция использует тот же алгоритм, что и встроенные функции python bisect.bisect_left (side='left') и bisect.bisect_right (side='right'), которые также векторизованы в аргументе v.

Примеры

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

© 2005–2019 NumPy Developers
Licensed under the 3-clause BSD License.
https://docs.scipy.org/doc/numpy-1.17.0/reference/generated/numpy.searchsorted.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API