В настоящее время у меня есть фрейм данных со столбцом, который содержит несколько слов или символов, я пытаюсь классифицировать каждую строку по поисковым ключевым словам в соответствующей ячейке.
пример
words | category
-----------------------------------
im a test email | email
here is my handout | handout
вот что у меня есть
conditions = [
(df['words'].str.contains('flyer',False,regex=True)),
(df['words'].str.contains('report',False,regex=True)),
(df['words'].str.contains('form',False,regex=True)),
(df['words'].str.contains('scotia',False,regex=True)),
(df['words'].str.contains('news',False,regex=True)),
(df_prt_copy['words'].str.contains('questions.*\.pdf',False,regex=True)),
.
.
.
.
]
choices = ['open house flyer',
'report',
'form',
'report',
'news',
‘question',
.
.
.
.
]
df['category']=np.select(conditions, choices, default='others')
это прекрасно работает, но проблема в том, что у меня много ключевых слов (вероятно, более 120 или около того)Таким образом, ведение этого списка ключевых слов очень сложно, есть ли лучший способ сделать это? Кстати, я использую python3
примечание: я ищу более простой способ управления большим списком ключевых слов, который отличается от простого метода поиска ключевых слов здесь