Есть Dataframe. В нем Series c текстовыми полями и даны строчки-ключи. Нужно вывести те строки Dataframe, в которые есть вхождения строк-ключей
Asked
Active
Viewed 518 times
1
-
related: Pandas filtering for multiple substrings in series – jfs Oct 16 '18 at 18:13
1 Answers
1
Можно фильтровать по регулярному выражению:
import re
import pandas
df = pandas.DataFrame(dict(column=["abc", "abba", "ba"]))
strings = "ab", "bc"
pattern = "|".join(map(re.escape, strings))
print(df[df.column.str.contains(pattern)])
Ожидаемо, результат не содержит "ba" строки:
column
0 abc
1 abba
Для больших текстов, можно попробовать более эффективные алгоритмы. См. Поиск повторяющихся строк.
jfs
- 52,361