Как добавить несколько фреймов данных 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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *