У меня есть фрейм данных, который включает столбец с несколькими продуктами.Я хочу создать новый столбец с типом продукта, который хранится в нескольких списках.
Вот мои списки:
fruits = ['apples', 'oranges', 'bananas']
veggies = ['carrots', 'lettuce', 'onions']
meats = ['steak', 'chicken', 'fish']
У меня есть столбец, содержащий все эти продукты, но я не хочу создавать столбец с типами продуктов.
У меня есть довольно неуклюжее решение для этого, но мне было интересно, есть ли более простой способ перебрать эти списки и добавить тип еды в новый столбец.
Вот мойтекущее решение:
df['food_type'] = np.where(df['foods'].isin(fruits),'fruits',
(np.where(df['foods'].isin(veggies),'veggies',
(np.where(df['foods'].isin(meats),'meats','other')))))
Было бы лучше создать словарь, содержащий списки, и выполнить итерацию по нему?то есть
food_types ={'fruits':['apples','oranges','bananas'],'veggies':['carrots', 'lettuce', 'onions'],'meats': ['steak', 'chicken', 'fish']}