По каким причинам может не происходить слияние датафреймов в pandas?
Есть два датафрейма: df и uni. У них есть множество одинаковых артикулов. На фото видим только один схожий, но этого достаточно для примера.

Я пытаюсь объединить эти датафреймы по артикулу вот таким кодом:
uni = pd.read_csv('C:/Users/Admin/Desktop/My Job/Reserve_file/United
Music.csv')[['Артикул', 'Наличие', 'ОПТ']]
df = pd.merge(df, uni, left_on = 'United Music', right_on = 'Артикул', how = 'left')
df.loc[df['Наличие'] == 0, 'ОПТ'] = pd.NA
и на выходе получаю вот такую картину:

Но беда в том, Что все значения во всех добавленных полях пустые, хотя по условию должно быть так, что если артикулы добавляемых полей одинаковы, то цену ОПТ проставляется в итоговый датафрейм.
Это работает на 13-ти других прайсах, которые я прогрузил сегодня по такой схеме, но вот два прайса не хотят прогружаться и я не понимаю почему.
Я понимаю, что дело в том, Что при сравнении артикулов программа не видит схожести, даже в схожих артикулах, но почему так происходит именно в двух прайсах из 15 не понятно.
Типы объединяемых столбцов одинаковые - строки.
Буду крайне признателен. Спасибо!
Ответы (1 шт):
Не могу оставлять комментарии, поэтому напишу в ответ - раз тип данных object, то убедитесь, что в строку не закрался пробел. Судя по коду, явных ошибок нету. Тем более, что один артикул все-таки прогрузился, это говорит об отсутствии фундаментальных ошибок.
Чтобы все значения колонки "обрезать" по концам, примените функцию apply, вот пример:
uni["Артикул"] = uni["Артикул"].apply(lambda x: x.strip())