Словарь -
theDict = {'Apple': '50',
'Mango': '70',
'Banana': '20'}
Фрейм данных -
df=pd.DataFrame({'id':[1,2,3],
'var1':['Apple','Papaya','Banana'],
'var2':['Papaya','Mango','Apple'],
'var3':['Banana','Guava','Grapes']})
Если элемент словаря, например, Apple, присутствует в строке данных, то на выходе должен быть новый столбец с значение 50.
Если в строке два фрукта, например, Man go и Apple, то выходной сигнал должен быть 50 + 70 перед этой строкой
Образец вывода -
df=pd.DataFrame({'id':[1,2,3],
'var1':['Apple','Papaya','Banana'],
'var2':['Papaya','Mango','Apple'],
'var3':['Banana','Guava','Grapes']
'Output_var':['50','50+70','20']})
Создание фрейма данных со значением True или False, если значение присутствует или нет
m = df.isin(theDict)
print (m)
Теперь не уверен, как l oop фрейм данных и создать новый столбец.
Любой другой подход приветствуется!
Я думал о преобразовании фреймов данных в массив numpy и использовании l oop, но мой набор данных очень большой, и я не уверен, является ли он оптимальный способ сделать это