Spec-Zone.ru › pandas 1

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 dtype.

>>> 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/1.5.0/reference/api/pandas.Series.str.contains.html

Spec-Zone.ru

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