У меня есть датафреймы идентификаторов и имен (2 x 1.5e6). Отдельно у меня есть длинный список вульгарных слов, который хранится в файле .txt (должен храниться в центральном месте и постоянно обновляться).
По сути, я пытаюсь «сопоставить» информационный фрейм имен с вульгарным списком слов. Я надеюсь создать новую переменную в фрейме данных ('vulgar_flag') и пометить как 0 или 1 в зависимости от того, являются ли какие-либо слова из вульгарного списка (файл .txt) подстрокой имени в фрейме данных.
В настоящее время мой подход заключается в чтении вульгарного файла .txt и создании списка слов с именем vulgar_scrub
. Затем у меня есть следующий код для создания флага:
df['vulgar_flag'] = numpy.where(df.FULLNAME.str.contains('|'.join(vulgar_scrub)),1,0)
Это кажется неуклюжим, и мне интересно, есть ли более эффективные альтернативы. В этом посте ( поиск Pandas, отображающем один столбец в кадре данных в другой в другом кадре данных ) упоминается использование df.merge
, хотя я не уверен, что будет поддерживаться проверка подстрок, как я ищу.
В основном, просто любопытно посмотреть, есть ли другие решения или какая-либо функциональность фрейма данных, о которой я не знаю. Спасибо!