Как добавить несколько фреймов данных pandas (с примером)
Вы можете использовать следующий базовый синтаксис для одновременного добавления нескольких кадров данных pandas:
import pandas as pd #append multiple DataFrames df_big = pd. concat ([df1,df2, df3], ignore_index= True )
Этот конкретный синтаксис добавит df1 , df2 и df3 в один DataFrame pandas, называемый df_big .
В следующем примере показано, как использовать этот синтаксис на практике.
Пример 1. Добавление нескольких кадров данных Pandas одновременно
В следующем коде показано, как одновременно добавить несколько кадров данных pandas:
import pandas as pd #create three DataFrames df1 = pd. DataFrame ({'player': ['A', 'B', 'C', 'D', 'E'], 'points':[12, 5, 13, 17, 27]}) df2 = pd. DataFrame ({'player': ['F', 'G', 'H', 'I', 'J'], 'points':[24, 26, 27, 27, 12]}) df3 = pd. DataFrame ({'player': ['K', 'L', 'M', 'N', 'O'], 'points':[9, 5, 5, 13, 17]}) #append all DataFrames into one DataFrame df_big = pd. concat ([df1,df2, df3], ignore_index= True ) #view resulting DataFrame print (df_big) player points 0 to 12 1 B 5 2 C 13 3 D 17 4 E 27 5 F 24 6 G 26 7:27 a.m. 8 I 27 9 D 12 10K 9 11 L 5 12 M 5 13 N 13 14 O 17
В результате получается большой DataFrame, содержащий все строки из каждого из трех отдельных DataFrame.
Аргумент ignore_index=True сообщает пандам игнорировать исходные номера индексов в каждом DataFrame и создавать новый индекс, который начинается с 0 для нового DataFrame.
Например, рассмотрим, что произойдет, если мы не используем ignore_index=True при объединении следующих двух DataFrame:
import pandas as pd #create two DataFrames with indices df1 = pd. DataFrame ({'player': ['A', 'B', 'C', 'D', 'E'], 'points':[12, 5, 13, 17, 27]}, index=[0, 1, 2, 3, 4]) df2 = pd. DataFrame ({'player': ['F', 'G', 'H', 'I', 'J'], 'points':[24, 26, 27, 27, 12]}, index=[2, 4, 5, 6, 9]) #stack the two DataFrames together df_big = pd. concat ([df1,df2]) #view resulting DataFrame print (df_big) player points 0 to 12 1 B 5 2 C 13 3 D 17 4 E 27 2 F 24 4G 26 5:27 a.m. 6 I 27 9 D 12
Полученный DataFrame сохранил исходные значения индексов из обоих DataFrame.
В общем, вам следует использовать ignore_index=True при добавлении нескольких DataFrames, если у вас нет особой причины сохранять исходные значения индекса.
Дополнительные ресурсы
Как добавить пустой столбец в DataFrame Pandas
Как вставить столбец в DataFrame Pandas
Как экспортировать DataFrame Pandas в Excel