Фон
У меня есть набор данных, в котором есть следующее:
product_title price
Women's Pant 20.00
Men's Shirt 30.00
Women's Dress 40.00
Blue 4" Shorts 30.00
Blue Shorts 35.00
Green 2" Shorts 30.00
Я создал новый столбец с именем пол, который содержит значения Женщины, Мужчины, или Unisex на основе указанной строки в product_title.
Результат выглядит следующим образом:
product_title price gender
Women's Pant 20.00 women
Men's Shirt 30.00 men
Women's Dress 40.00 women
Blue 4" Shorts 30.00 women
Blue Shorts 35.00 unisex
Green 2" Shorts 30.00 women
Подход
Я подошел к созданию нового столбца с помощью операторов if / else:
df['gender'] = ['women' if 'women' in word or 'Blue 4"' in word or 'Green 2"' in word
else "men" if "men" in word
else "unisex"
for word in df.product_title.str.lower()]
Хотя этот подход работает, он становится очень длинным, когда у меня есть много условий для обозначения женщин, мужчин и мужчин. Есть ли более чистый способ сделать это? Есть ли способ передать список строк вместо длинной цепочки условий или?
Я был бы очень признателен за помощь, так как я новичок в библиотеках python и pandas.