Почему не объединяются датафреймы внутри цикла?
Для простоты - есть два датафрейма пандаса, которые легко объединяются между собой методом merge. Но если эти данные лежат в списке, то при его итерации не получается объединить датафреймы (в реалной задаче есть большой список схожих датафреймов):
Ответы (2 шт):
Метод .merge() не изменяет датафрейм, на который вы его применили, только возвращает новый датафрейм.
Чтобы сохранить этот новый датафрейм, нужно его присвоить какой-нибудь переменной:
df_merged = con.merge(...)
Так как вы это не сделали, вы его просто выкинули.
Результат вашей последней команды
x.merge(y, how='outer')
т.к. она является последней (единой) в клетке Jupyter ноутбука, изобразится (и потом тоже уничтожится).
Между прочим, в цикле
for i in a_list:
вы пытаетесь сначала сделать x.merge(x, ...) (потому что x является первым элементом списка a_list) - что вы явно не хотите.
Как это сделать правильно?
a_list = [x, y, z, ...] # сколько нужно
result = a_list[0] # первый
for i in a_list[1:] # для всех остальных
result = result.merge(i, ...)
