Spec-Zone.ru › pandas 1

pandas.Index.isin

Index.isin(values, level=None)[source]

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

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

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

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

уровень:строка или целое число, необязательно

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

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

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

См. также

Series.isin

То же для Series.

DataFrame.isin

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

Примечания

В случае MultiIndex вы должны либо указать значения как список, содержащий кортежи, длина которых соответствует количеству уровней, либо указать уровень. В противном случае будет поднята ошибка ValueError.

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

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

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

Примеры

>>> idx = pd.Index([1,2,3])
>>> idx
Int64Index([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'])

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

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

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

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

Для DatetimeIndex строковые значения в значениях преобразуются в Timestamp.

>>> dates = ['2000-03-11', '2000-03-12', '2000-03-13']
>>> dti = pd.to_datetime(dates)
>>> dti
DatetimeIndex(['2000-03-11', '2000-03-12', '2000-03-13'],
dtype='datetime64[ns]', freq=None)
>>> dti.isin(['2000-03-11'])
array([ True, False, False])

© 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.Index.isin.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API