pandas.Index.get_indexer
-
Index.get_indexer(target, method=None, limit=None, tolerance=None)[source] -
Вычислить индексатор и маску для нового индекса, заданного текущим индексом. Индексатор должен использоваться в качестве входных данных для ndarray.take для выравнивания текущих данных с новым индексом.
Параметры: target : Индекс
method : {None, ‘pad’/’ffill’, ‘backfill’/’bfill’, ‘nearest’}, необязательно
- по умолчанию: только точные совпадения.
- pad / ffill: найти ПРЕДЫДУЩЕЕ значение индекса, если точного совпадения нет.
- backfill / bfill: использовать СЛЕДУЮЩЕЕ значение индекса, если точного совпадения нет
- nearest: использовать НАИБОЛЕЕ БЛИЗКОЕ значение индекса, если точного совпадения нет. При равных расстояниях предпочтение отдаётся большему значению индекса.
limit : int, необязательно
Максимальное количество последовательных меток в
targetдля сопоставления при неточных совпадениях.tolerance : необязательно
Максимальное расстояние между исходными и новыми метками для неточных совпадений. Значения индекса в соответствующих позициях в наибольшей степени удовлетворяют уравнению
abs(index[indexer] - target) <= tolerance.Введено в версии 0.17.0.
Возвращает: indexer : массив ndarray целых чисел
Целые числа от 0 до n - 1, указывающие, что индекс в этих позициях соответствует соответствующим значениям целевого индекса. Пропущенные значения в целевом индексе отмечаются -1.
Примеры
>>> indexer = index.get_indexer(new_index) >>> new_values = cur_values.take(indexer)
© 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.get_indexer.html