pandas.Series.str.contains
-
Series.str.contains(self, pat, case=True, flags=0, na=nan, 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 : default NaN -
Значение заполнения для пропущенных значений.
-
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Возвращение «дом» или «собака», когда появляется любое из выражений в строке.
>>> 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–2012, 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/0.25.0/reference/api/pandas.Series.str.contains.html