Spec-Zone.ru › pandas 2

pandas.Series.str.contains

Series.str.contains(pat, case=True, flags=0, na=None, regex=True)[source]

Проверка, содержит ли строка в Series или Index шаблон или регулярное выражение.

Возвращает булеву Series или Index, в зависимости от того, содержит ли заданный шаблон или регулярное выражение строку в Series или Index.

Параметры:
pat:str

Последовательность символов или регулярное выражение.

case:bool, по умолчанию True

Если True, регистрозависимый поиск.

flags:int, по умолчанию 0 (без флагов)

Флаги для передачи в модуль re, например re.IGNORECASE.

na:скаляр, необязательно

Значение заполнения для пропущенных значений. Значение по умолчанию зависит от типа данных массива. Для object-dtype используется numpy.nan. Для StringDtype, используется pandas.NA.

regex:bool, по умолчанию 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–2022, 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/2.2.2/reference/api/pandas.Series.str.contains.html

Spec-Zone.ru

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