pandas.MultiIndex.get_indexer
- MultiIndex.get_indexer(target, method=None, limit=None, tolerance=None)[source]
-
Вычисление индексатора и маски для нового индекса, исходя из текущего индекса.
Индексатор должен использоваться в качестве входных данных для ndarray.take для выравнивания текущих данных с новым индексом.
- Параметры
-
- target:Index
- method:{None, ‘pad’/’ffill’, ‘backfill’/’bfill’, ‘nearest’}, необязательно
-
по умолчанию: только точные совпадения.
pad / ffill: найти ПРЕДЫДУЩЕЕ значение индекса, если точное совпадение отсутствует.
backfill / bfill: использовать СЛЕДУЮЩЕЕ значение индекса, если точное совпадение отсутствует.
nearest: использовать НАИБОЛЕЕ БЛИЗКОЕ значение индекса, если точное совпадение отсутствует. Связанные расстояния разрываются, отдавая предпочтение большему значению индекса.
- limit:int, необязательно
-
Максимальное количество последовательных меток в
targetдля соответствия при неточных совпадениях. - tolerance:необязательно
-
Максимальное расстояние между исходными и новыми метками для неточных совпадений. Значения индекса в совпадающих местах должны удовлетворять уравнению
abs(index[indexer] - target) <= tolerance.Tolerance может быть скалярным значением, которое применяется одинаковая толерантность ко всем значениям, или списком, который применяет переменную толерантность к каждому элементу. Список включает список, кортеж, массив, Series и должен иметь тот же размер, что и индекс, а его тип данных должен точно совпадать с типом индекса.
- Возвращает
-
- indexer:np.ndarray[np.intp]
-
Целые числа от 0 до n - 1, указывающие, что индекс в этих позициях соответствует соответствующим значениям целевого индекса. Пропущенные значения в целевом индексе отмечаются -1.
Примечания
Возвращает -1 для несовпадающих значений, для более подробного объяснения см. пример ниже.
Примеры
>>> index = pd.Index(['c', 'a', 'b']) >>> index.get_indexer(['a', 'b', 'x']) array([ 1, 2, -1])
Обратите внимание, что возвращаемое значение — массив местоположений в
indexиxотмечается -1, так как он не содержится вindex.
© 2008–2022, 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/1.5.0/reference/api/pandas.MultiIndex.get_indexer.html