Как добавить два кадра данных Pandas (с примерами)


Вы можете использовать следующий базовый синтаксис для добавления двух фреймов данных pandas в один фрейм данных:

big_df = pd.concat([df1, df2], ignore_index= True )

В следующих примерах показано, как использовать этот синтаксис на практике.

Пример 1: добавление двух фреймов данных Pandas

В следующем коде показано, как объединить два кадра данных pandas в один кадр данных:

import pandas as pd

#create two DataFrames
df1 = pd.DataFrame({'x': [25, 14, 16, 27, 20, 12, 15, 14, 19],
 'y': [5, 7, 7, 5, 7, 6, 9, 9, 5],
 'z': [8, 8, 10, 6, 6, 9, 6, 9, 7]})

df2 = pd.DataFrame({'x': [58, 60, 65],
 'y': [14, 22, 23],
 'z': [9, 12, 19]})

#append two DataFrames together
combined = pd.concat([df1, df2], ignore_index= True )

#view final DataFrame
combined

 x y z
0 25 5 8
1 14 7 8
2 16 7 10
3 27 5 6
4 20 7 6
5 12 6 9
6 15 9 6
7 14 9 9
8 19 5 7
9 58 14 9
10 60 22 12
11 65 23 19

Пример 2: добавление более двух фреймов данных Pandas

Обратите внимание, что вы можете использовать функцию pd.concat() для добавления более двух фреймов данных pandas вместе:

import pandas as pd

#create three DataFrames
df1 = pd.DataFrame({'x': [25, 14, 16],
 'y': [5, 7, 7]})

df2 = pd.DataFrame({'x': [58, 60, 65],
 'y': [14, 22, 23]})

df3 = pd.DataFrame({'x': [58, 61, 77],
 'y': [10, 12, 19]})

#append all three DataFrames together
combined = pd.concat([df1, df2, df3], ignore_index= True )

#view final DataFrame
combined

 x y
0 25 5
1 14 7
2 16 7
3 58 14
4 60 22
5 65 23
6 58 10
7 61 12
8 77 19

Обратите внимание, что если бы мы не использовали аргумент ignore_index , индекс полученного DataFrame сохранил бы исходные значения индекса для каждого отдельного DataFrame:

#append all three DataFrames together
combined = pd.concat([df1, df2, df3])

#view final DataFrame
combined

 x y
0 25 5
1 14 7
2 16 7
0 58 14
1 60 22
2 65 23
0 58 10
1 61 12
2 77 19

Вы можете найти полную онлайн-документацию для функции pandas.concat() здесь .

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные функции в pandas:

Как использовать Pandas fillna() для замены значений NaN
Как объединить Pandas DataFrames в несколько столбцов
Как объединить два кадра данных Pandas в индексе