Фон
У меня есть набор данных, который выглядит следующим образом:
product_name price
Women's pant 20.00
Men's Shirt 30.00
Women's Dress 40.00
Blue Shirt 30.00
...
Я хочу создать новый столбец с именем
пол
, который будет содержать значения Women, Men или Unisex на основе строки в product_name
Желаемый результат будет выглядеть так:
product_name price gender
Women's pant 20.00 women
Men's Shirt 30.00 men
Women's Dress 40.00 women
Blue Shirt 30.00 unisex
Мой подход
Я решил, что сначала я должен создать новый столбец с пустым значением для каждой строки. Затем я должен пропустить oop через каждую строку в фрейме данных и проверить строку df [product_name], чтобы увидеть, мужское ли это, женское или мужское, и заполнить соответствующее значение гендерной строки.
Вот это мой код:
df['gender'] = ""
for product_name in df['product_name']:
if 'women' in product_name.lower():
df['gender'] = 'women'
elif 'men' in product_name.lower():
df['gender'] = 'men'
else:
df['gender'] = 'unisex'
Однако я получаю следующий результат:
product_name price gender
Women's pant 20.00 men
Men's Shirt 30.00 men
Women's Dress 40.00 men
Blue Shirt 30.00 men
Я был бы очень признателен за помощь здесь, поскольку я новичок в библиотеках python и pandas.