pandas.Index.searchsorted
-
Index.searchsorted(key, side='left', sorter=None)[source] -
Нахождение индексов, куда необходимо вставить элементы для сохранения порядка.
Находит индексы в отсортированном IndexOpsMixin
selfтаким образом, что если соответствующие элементы вvбыли вставлены перед этими индексами, порядокselfсохранялся бы.Параметры: ключ : array_like
Значения для вставки в
self.сторона : {‘левый’, ‘правый’}, необязательно
Если ‘левый’, возвращается индекс первой подходящей позиции. Если ‘правый’, возвращается последний подходящий индекс. Если подходящего индекса нет, возвращается либо 0, либо N (где N — длина
self).сортировка : 1-мерный массив, необязательно
Необязательный массив целочисленных индексов, сортирующих
selfв порядке возрастания. Обычно они являются результатомnp.argsort.Возвращаемые значения: индексы : массив целых чисел
Массив точек вставки с теми же размерами, что и
v.См. также
Примечания
Для поиска необходимых точек вставки используется двоичный поиск.
Примеры
>>> x = pd.Series([1, 2, 3]) >>> x 0 1 1 2 2 3 dtype: int64 >>> x.searchsorted(4) array([3]) >>> x.searchsorted([0, 4]) array([0, 3]) >>> x.searchsorted([1, 3], side='left') array([0, 2]) >>> x.searchsorted([1, 3], side='right') array([1, 3]) >>> >>> x = pd.Categorical(['apple', 'bread', 'bread', 'cheese', 'milk' ]) [apple, bread, bread, cheese, milk] Categories (4, object): [apple < bread < cheese < milk] >>> x.searchsorted('bread') array([1]) # Note: an array, not a scalar >>> x.searchsorted(['bread']) array([1]) >>> x.searchsorted(['bread', 'eggs']) array([1, 4]) >>> x.searchsorted(['bread', 'eggs'], side='right') array([3, 4]) # eggs before milk
© 2008–2012, AQR Capital Management, LLC, Lambda Foundry, Inc. and PyData Development Team
Licensed under the 3-clause BSD License.
https://pandas.pydata.org/pandas-docs/version/0.19.2/generated/pandas.Index.searchsorted.html