РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
251 of 687 menu

Метод get_indexer

Метод get_indexer применяется к Index и возвращает массив целочисленных индексов для каждого элемента из переданного массива, показывая его позицию в текущем индексе. Если элемент не найден, в результате будет -1.

Этот метод полезен для поиска позиций элементов одного индекса в другом, например, при сопоставлении данных из разных источников или для переиндексации.

Синтаксис

index.get_indexer(target)

Пример

Давайте получим позиционные индексы для нескольких значений из заданного индекса:

import pandas as pd idx = pd.Index([10, 20, 30, 40, 50]) res = idx.get_indexer([20, 40, 100]) print(res)

Результат выполнения кода:

[ 1 3 -1]

Значение 20 находится на позиции 1, 40 - на позиции 3, а 100 отсутствует, поэтому для него возвращается -1.

Пример

Метод get_indexer отлично работает с другими индексами. Найдём позиции всех элементов одного индекса в другом:

import pandas as pd idx1 = pd.Index(['a', 'b', 'c', 'd']) idx2 = pd.Index(['c', 'a', 'x']) res = idx1.get_indexer(idx2) print(res)

Результат выполнения кода:

[ 2 0 -1]

Символ 'c' находится на позиции 2, 'a' - на позиции 0, а 'x' отсутствует в исходном индексе.

Пример

Метод get_indexer также корректно обрабатывает повторяющиеся значения в целевом массиве:

import pandas as pd idx = pd.Index([1, 2, 3, 4, 5]) res = idx.get_indexer([2, 2, 5, 5, 1]) print(res)

Результат выполнения кода:

[1 1 4 4 0]

Каждое вхождение элемента получает свою позицию в соответствии с текущим индексом.

Смотрите также

  • метод get_loc,
    который возвращает позицию для одного элемента
  • метод isin,
    который проверяет вхождение элементов в индекс
  • метод slice_indexer,
    который преобразует срез в позиционные индексы
  • метод unique,
    который возвращает уникальные значения индекса
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить