Проверка вхождения символов в ячейку таблицы
Похожий вопрос был описан ранее https://ru.stackoverflow.com/questions/1363343/Проверка-вхождения-слов-в-список-ячейки Можете подсказать как изменить код если нужно не полное совпадение слова а только его части.
mapping = {"мелодрама": "marriage", "фантастика": "future", "сказка": "tale"}
# регулярные выражения для замены целых строк
pat = {fr".*\b{v}\b.*": k for k, v in mapping.items()}
# создаем новый столбец при помощи замены строк
df["test"] = df["keywords"].replace(pat, regex=True)
# создаем "boolean mask" для строк из категории "другое"
mask = ~df["test"].isin(mapping.keys())
# заменяем строки по маске на "другое"
df.loc[mask, "test"] = "другое"