Spec-Zone.ru › pandas 0.23

pandas.Index.isin

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

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

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

Параметры:

values : множество или список-подобный объект

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

Добавлен в версии 0.18.1: Поддержка значений в виде множества.

level : str или int, необязательно

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

Возвращает:

is_contained : ndarray

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

См. также

Series.isin
То же для Series.
DataFrame.isin
Тот же метод для DataFrame.

Примечания

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

Если level указано:

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

Примеры

>>> 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(levels=[[1, 2, 3], ['blue', 'green', 'red']],
           labels=[[0, 1, 2], [2, 0, 1]],
           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])

Для DatetimeIndex строковые значения в values преобразуются в 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–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.23.4/generated/pandas.Index.isin.html

Spec-Zone.ru

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