как удалить строки в которых присутствуют стоп слова
Читаю большой текстовый файл по кускам с помощью Pandas.
Список:
[email protected]:1@23
[email protected]:1@23
[email protected]:123@
[email protected]:131
[email protected]:1@31
[email protected]:131
[email protected]:131
Пример - блек лист слова списком:
1@
123456@
12345678@
На выходе хочу получить:
[email protected]:1@23
[email protected]:123@
[email protected]:131
[email protected]:131
Важна быстрая работа, поэтому построчное чтение файла не подходит. Требуется регулярка для работы сразу с большим списком) Надо рассматривать только эту часть [email protected]
точнее, до первого @.
Ответы (1 шт):
Автор решения: CrazyElf
→ Ссылка
Ну я бы использовал pandas.Series.startswith. Там, как ни странно, можно использовать tuple из набора строк в качестве аргумента:
import pandas as pd
email_list = """[email protected]:1@23
[email protected]:1@23
[email protected]:123@
[email protected]:131
[email protected]:1@31
[email protected]:131
[email protected]:131""".split()
black_list = ('1@', '123456@', '12345678@')
df = pd.DataFrame({'email': email_list})
df[~df.email.str.startswith(black_list)]
Результат:
email
1 [email protected]:1@23
2 [email protected]:123@
3 [email protected]:131
5 [email protected]:131