Метод find
Метод find аксессора str применяется к текстовым данным Series
и возвращает позицию первого вхождения заданной подстроки в каждой строке.
Если подстрока не найдена, возвращается -1.
Метод принимает обязательный параметр sub - искомую подстроку,
а также необязательные параметры start и end,
ограничивающие область поиска.
Синтаксис
Series.str.find(sub[, start[, end]])
Пример
Применим метод find к серии строк для поиска позиции символа:
import pandas as pd
ser = pd.Series(['abcde', 'article', 'user', 'data.csv'])
res = ser.str.find('a')
print(res)
Результат выполнения кода:
0 0
1 0
2 -1
3 1
dtype: int64
Пример
Используем параметры start и end для поиска в определённом диапазоне:
import pandas as pd
ser = pd.Series(['abcde', 'article', 'user', 'data.csv'])
res = ser.str.find('a', start=1, end=4)
print(res)
Результат выполнения кода:
0 -1
1 -1
2 -1
3 -1
dtype: int64
Пример
Поиск нескольких символов в строке:
import pandas as pd
ser = pd.Series(['abcde', 'article', 'user', 'data.csv'])
res = ser.str.find('de')
print(res)
Результат выполнения кода:
0 2
1 -1
2 -1
3 -1
dtype: int64
Пример
Применим метод find к строкам таблицы:
import pandas as pd
df = pd.DataFrame({
'a': ['abcde', 'article', 'user', 'data.csv'],
'b': ['abcde', 'article', 'user', 'data.csv']
})
res = df['a'].str.find('c')
print(res)
Результат выполнения кода:
0 2
1 3
2 -1
3 -1
dtype: int64