Как создать новый столбец в датафрейме, основываясь на поиске подстроки в другом столбце?
У меня есть столбец с описанием деятельности компании. Описание состоит из нескольких слов. Я подготовил список с ключевыми словами и хочу присваивать в новый столбец 1, если в описании деятельности встречается слово из списка с ключевыми словами, в противном случае 0. Как мне это реализовать?
Что имею:
medical_list = ['medical', 'health', 'vitamins']
id компании | Описание |
---|---|
1 | "medical tools, sport inventory" |
2 | "it management, analytics" |
3 | "sport and health" |
Что хочу получить:
id компании | Описание | is_medical |
---|---|---|
1 | "medical tools, sport inventory" | 1 |
2 | "it management, analytics" | 0 |
3 | "sport and health" | 1 |
Ответы (1 шт):
Автор решения: strawdog
→ Ссылка
Недавно был похожий вопрос. Вы пробовали искать среди ответов? решение - в использовании метода contains
:
df:
id desc
0 1 medical tools, sport inventory
1 2 it management, analytics
2 3 sport and health
df["is_medical"] = df["desc"].str.contains("|".join(medical_list)).astype(int)
теперь df:
id desc is_medical
0 1 medical tools, sport inventory 1
1 2 it management, analytics 0
2 3 sport and health 1