Series.str.contains()
Метод Series.str.contains() проверяет, содержит ли каждый элемент строкового Series указанную подстроку или совпадение с регулярным выражением. Возвращает булев Series — удобно для фильтрации.
Сигнатура
Series.str.contains(pat, case=True, flags=0, na=None, regex=True)
Параметры
pat— подстрока или регулярка.case— учитывать регистр.regex— интерпретироватьpatкак regex.na— чем заменитьNaNв результате.
Возвращаемое значение
Булев Series.
Примеры
Пример 1. Простой поиск
import pandas as pd
s = pd.Series(["temp_22", "hum_55", "temp_23"])
print(s.str.contains("temp"))
0 True
1 False
2 True
dtype: bool
Пример 2. Без учёта регистра
import pandas as pd
s = pd.Series(["ERROR: x", "Info: y", "warning: z"])
print(s.str.contains("error", case=False))
0 True
1 False
2 False
dtype: bool
Пример 3. Фильтрация логов
import pandas as pd
logs = pd.Series([
"INFO: motor started",
"ERROR: timeout",
"INFO: data ok",
"ERROR: low voltage",
])
print(logs[logs.str.contains("ERROR")])
1 ERROR: timeout
3 ERROR: low voltage
dtype: object
Пример 4. Regex — цифры в строке
import pandas as pd
s = pd.Series(["abc", "a1b", "xyz"])
print(s.str.contains(r"\d", regex=True))
0 False
1 True
2 False
dtype: bool
Пример 5. Обработка NaN
import pandas as pd
import numpy as np
s = pd.Series(["temp", np.nan, "hum"])
print(s.str.contains("temp", na=False))
0 True
1 False
2 False
dtype: bool
См. также
Примечание
Лицензия и источники
Техническое описание функции адаптировано из официальной документации Pandas (https://pandas.pydata.org/docs/), BSD-3-Clause License. Примеры и пояснения — © AlashEd Wiki.