pandas.Index.isin
-
Index.isin(values, level=None)[source] -
Возвращает булевый массив, где значения индекса находятся в
values.Вычисляет булевый массив, указывающий, найдено ли каждое значение индекса в переданном наборе значений. Длина возвращаемого булевого массива соответствует длине индекса.
Параметры: -
values : set or list-like -
Искомые значения.
Новое в версии 0.18.1: Поддержка значений в виде набора.
-
level : str or int, optional -
Имя или позиция уровня индекса для использования (если индекс является
MultiIndex).
Возвращает: -
is_contained : ndarray -
Массив NumPy булевых значений.
См. также
-
Series.isin - То же для Series.
-
DataFrame.isin - Тот же метод для DataFrames.
Примечания
В случае
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']], codes=[[0, 1, 2], [2, 0, 1]], 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 строковые значения в
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.24.2/reference/api/pandas.Index.isin.html