pandas.Series.str.contains#
-
Series.str.содержит(шаблон, case=True, flags=0, na=
, regex=True)[источник]# Проверить, содержится ли шаблон или регулярное выражение в строке Series или Index.
Возвращает булевый Series или Index на основе того, содержится ли заданный шаблон или регулярное выражение в строке Series или Index.
- Параметры:
- шаблонstr
Последовательность символов или регулярное выражение.
- случайbool, по умолчанию True
Если True, с учетом регистра.
- флагиint, по умолчанию 0 (без флагов)
Флаги для передачи в модуль re, например re.IGNORECASE.
- naскаляр, опционально
Значение заполнения для пропущенных значений. По умолчанию зависит от типа данных массива. Для object-dtype,
numpy.nanиспользуется. Для nullableStringDtype,pandas.NAиспользуется. Для"str"dtype,Falseиспользуется.- regexbool, по умолчанию True
Если True, предполагает, что pat — регулярное выражение.
Если False, рассматривает шаблон как буквальную строку.
- Возвращает:
- Серия или индекс булевых значений
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')
Указание чувствительности к регистру с помощью случай.
>>> 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
Игнорирование чувствительности к регистру с помощью флаги с регулярным выражением.
>>> 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
Обеспечить шаблон не является буквальным шаблоном, когда 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