Во-первых, я рассмотрел множество SO-потоков по этому поводу, и ни один из них не работал в make-случае. Создание нового столбца на основе условия if-elif-else казалось наиболее близким к тому, что я пытаюсь сделать.
В моем df у меня есть столбец с названиями продуктов.Я пытаюсь создать функцию, которая ищет частичное совпадение строк в каждой строке этого столбца и на основе совпадения создаст метку для каждой строки в новом столбце df.Я хотел использовать функцию, потому что мне нужно сопоставить около 5 или 6 шаблонов.
Я использую функцию contains () для поиска частичного совпадения названий продуктов.Это возвращает bool, который я затем проверяю с помощью else / if в функции:
def label_sub_cat():
if data['product'].str.contains('Proceedings', case=False) is True:
return 'Proceedings'
elif data['product'].str.contains('DVD', case=False) is True:
return 'DVD'
else:
return 'Other'
data['product_sub_cat'] = data.apply(label_sub_cat(), axis=1)
Я получаю следующую ошибку:
AttributeError: 'DataFrame' object has no attribute 'other'