Я пытаюсь соединить два фрейма данных с «left» с условиями с «item»
Если df2 не имеет «эквивалента_элемента», то я хочу использовать сам df1 «item». Если df2 «эквивалентный_элемент» равен нулю (например, киви), то эквивалентный элемент должен быть нулевым, и позже я могу отбросить эту строку.
df1:
name item
jack rice
hari banana
mala apples
kin kiwi
Mike salt
fall sugar
yedy pasta
vall fruits
df2:
item equivalent_item
rice basmathi
banana delmonte
apples fuji apple
kiwi
pasta barello
Ожидаемый результат:
name items equivalent_item
jack rice basmathi
hari banana delmonte
mala apples fuji apple
kin kiwi
Mike salt salt
fall sugar sugar
yedy pasta barello
vall fruits fruits
Я должен был сделать, как показано ниже:
def equivalent_name(name):
elif name == 'rice':
return 'basmathi'
elif name == 'banana':
return 'delmonte'
elif name == 'apples':
return 'fuji apple'
elif name == 'apples':
return 'fuji apple'
elif name == 'pasta':
return 'barello'
else
return name
df1['name'] = df1['name'].apply(equivalent_name)