pandas.Index.isin#

Индекс.isin(values, уровень=None)[источник]#

Вернуть булев массив, где значения индекса находятся в values.

Вычисление булева массива, указывающего, найдено ли каждое значение индекса в переданном наборе значений. Длина возвращаемого булева массива соответствует длине индекса.

Параметры:
valuesмножество или список

Искомые значения.

уровеньstr или int, необязательно

Имя или позиция уровня индекса для использования (если индекс является MultiIndex).

Возвращает:
np.ndarray[bool]

Массив NumPy булевых значений.

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

Series.isin

То же самое для Series.

DataFrame.isin

Тот же метод для DataFrames.

Примечания

В случае MultiIndex Нормализовано по N-1. values как объект, подобный списку, содержащий кортежи той же длины, что и количество уровней, или указать уровень. В противном случае он вызовет ValueError.

Если уровень указано:

  • если это имя одного и только один уровень индекса, используйте этот уровень;

  • в противном случае это должно быть число, указывающее позицию уровня.

Примеры

>>> idx = pd.Index([1,2,3])
>>> idx
Index([1, 2, 3], dtype='int64')

Проверить, находится ли каждое значение индекса в списке значений.

>>> idx.isin([1, 4])
array([ True, False, False])
>>> midx = pd.MultiIndex.from_arrays([[1,2,3],
...                                  ['red', 'blue', 'green']],
...                                  names=('number', 'color'))
>>> midx
MultiIndex([(1,   'red'),
            (2,  'blue'),
            (3, 'green')],
           names=['number', 'color'])

Проверить, находятся ли строки на уровне 'color' в MultiIndex в списке цветов.

>>> midx.isin(['red', 'orange', 'yellow'], level='color')
array([ True, False, False])

Для проверки по уровням MultiIndex передайте список кортежей:

>>> midx.isin([(1, 'red'), (3, 'red')])
array([ True, False, False])