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