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