pandas.Series.str.contains
- Series.str.contains(pat, case=True, flags=0, na=<no_default>, regex=True)[source]
-
Проверяет, содержится ли шаблон или регулярное выражение в строке Series или Index.
Возвращает булеву Series или Index в зависимости от того, содержится ли заданный шаблон или регулярное выражение в строке Series или Index.
- Параметры:
-
- pat:str
-
Последовательность символов или регулярное выражение.
- case:bool, default True
-
Если True, учитывается регистр.
- flags:int, default 0 (no flags)
-
Флаги, передаваемые модулю re, например re.IGNORECASE.
- na:scalar, optional
-
Значение для заполнения пропущенных значений. Значение по умолчанию зависит от типа данных массива. Для object-dtype используется
numpy.nan. Для nullableStringDtypeиспользуетсяpandas.NA. Для типа данных"str"используетсяFalse. - regex:bool, default True
-
Если True, параметр pat рассматривается как регулярное выражение.
Если False, параметр pat рассматривается как обычная строка.
- Возвращает:
-
- Series или Index с булевыми значениями
-
Series или Index с булевыми значениями, указывающими, содержится ли заданный шаблон в строке каждого элемента Series или Index.
См. также
match-
Аналогичный, но более строгий метод, использующий re.match вместо re.search.
Series.str.startswith-
Проверяет, соответствует ли начало каждого строкового элемента шаблону.
Series.str.endswith-
Аналогичен startswith, но проверяет конец строки.
Примеры
Возврат Series с булевыми значениями с использованием только буквального шаблона.
>>> s1 = pd.Series(['Mouse', 'dog', 'house and parrot', '23', np.nan]) >>> s1.str.contains('og', regex=False) 0 False 1 True 2 False 3 False 4 NaN dtype: objectВозврат Index с булевыми значениями с использованием только буквального шаблона.
>>> ind = pd.Index(['Mouse', 'dog', 'house and parrot', '23.0', np.nan]) >>> ind.str.contains('23', regex=False) Index([False, False, False, True, nan], dtype='object')Указание чувствительности к регистру с помощью case.
>>> s1.str.contains('oG', case=True, regex=True) 0 False 1 False 2 False 3 False 4 NaN dtype: objectЕсли задать для na значение False вместо NaN, значения NaN заменяются на False. Если Series или Index не содержит значений NaN, результирующий тип данных будет bool; в противном случае — object.
>>> s1.str.contains('og', na=False, regex=True) 0 False 1 True 2 False 3 False 4 False dtype: boolВозврат ‘house’ или ‘dog’, если в строке встречается любое из этих выражений.
>>> s1.str.contains('house|dog', regex=True) 0 False 1 True 2 True 3 False 4 NaN dtype: objectИгнорирование регистра с помощью flags и регулярного выражения.
>>> import re >>> s1.str.contains('PARROT', flags=re.IGNORECASE, regex=True) 0 False 1 False 2 True 3 False 4 NaN dtype: objectВозврат любой цифры с помощью регулярного выражения.
>>> s1.str.contains('\\d', regex=True) 0 False 1 False 2 False 3 True 4 NaN dtype: objectУбедитесь, что pat не является буквальным шаблоном, если для regex задано значение True. Обратите внимание: в следующем примере можно ожидать, что только s2[1] и s2[3] вернут True. Однако регулярное выражение ‘.0’ соответствует любому символу, за которым следует 0.
>>> s2 = pd.Series(['40', '40.0', '41', '41.0', '35']) >>> s2.str.contains('.0', regex=True) 0 True 1 True 2 False 3 True 4 False dtype: bool
© 2008–2011, AQR Capital Management, LLC, Lambda Foundry, Inc. and PyData Development Team
© 2011–2025, Open source contributors
Licensed under the 3-clause BSD License.
https://pandas.pydata.org/pandas-docs/version/2.3.0/reference/api/pandas.Series.str.contains.html