Это потому, что вы не создали список, вы создали набор, как показывает ваша ошибка. Вы можете попытаться создать список в качестве аргумента для .isin()
:
import pandas as pd
import numpy as np
df = pd.DataFrame({'Col1':[22,43,54,74,14],'Col2':['Apple','Carrot','Orange','Spinach','Cucumber']})
Fru = {'Apple','Orange', 'Grape', 'Blueberry', 'Strawberry'}
Veg = {'Cucumber','Carrot','Broccoli', 'Onion'}
Leaf = {'Lettuce', 'Kale', 'Spinach'}
df['Category'] = np.where(df['Col2'].isin(Fru),'Fruit',
np.where(df['Col2'].isin(Veg),'Vegetable',
np.where(df['Col2'].isin(Leaf),'Leaf')))
print(df)
Вывод:
Col1 Col2 Category
0 22 Apple Fruit
1 43 Carrot Vegetable
2 54 Orange Fruit
3 74 Spinach Leaf
4 14 Cucumber Vegetable