@sega111sega

Как последовательно объединить несколько DataFrame с одинаковыми столбцами?

Имеется функция, которая в цикле выдает Фреймы. Все они имеют одинаковую структуру.
dfs = []
    for i in ally_code:
        df = get_units_player( get_player_json(i) )
        dfs.append(df)

Если выводить на печать dfs, выходит все как нужно. Дальше стоит задача объединить эти таблицы и записать в файл.
Привожу список к фрейму.
dfs = pd.DataFrame(dfs)
    print(dframe)

На выходе получаю одинаковые строчки с названием столбцов.
При записи фрейма в файл выходит 2 столбца: порядковый номер и ячейки с указанием количества столбцов и строк. Также эти ячейки внутри себя имеют урезанный вид фрейма (первые и последние 5 строк)

Пробовал еще так:
dfs = pd.DataFrame()
    
    for i in ally_code:
        df = get_units_player( get_player_json(i) )
        dfs = pd.concat([df])
    print(dfs)

Но так выводит только один фрейм.

Как объединить все фреймы в один, чтобы остались названия столбцов и все остальные данные?
  • Вопрос задан
  • 609 просмотров
Решения вопроса 1
Maksim_64
@Maksim_64
Data Analyst
если планируете использовать pd. concat(), то сначала собираете ваши фреймы в список frame_list. A потом этот список в pd.concat(). далее pd.concat имеет аргумент axis, его поставьте 0 (если у вас совпадают имена столбцов), он будет добавлять их вниз новыми рядами.
ваш псевдо код будет иметь вид
frame_list = []
for i in ally_code:
    df = get_units_player( get_player_json(i) )
    frame_list.append(df)
final_df = pd.concat(frame_list,axis= 0)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы