Spec-Zone.ru › pandas 2

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. Для nullable StringDtype используется 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

Spec-Zone.ru

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