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


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

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

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

Пример: как объединить два кадра данных Pandas

Предположим, у нас есть следующие два Pandas DataFrames:

import pandas as pd

#define DataFrames
df1 = pd.DataFrame({'team': ['A', 'A', 'A', 'A'],
 'assists': [5, 7, 7, 9],
 'points': [11, 8, 10, 6]})

df2 = pd.DataFrame({'team': ['B', 'B', 'B', 'B'],
 'assists': [4, 4, 3, 7],
 'points': [14, 11, 7, 6]})
#view DataFrames
print(df1)

 team assists points
0 A 5 11
1 A 7 8
2 A 7 10
3 A 9 6

print(df2)

 team assists points
0 B 4 14
1 B 4 11
2 B 3 7
3 B 7 6

Мы можем использовать следующий синтаксис для объединения двух DataFrames:

#concatenate the DataFrames
df3 = pd.concat([df1, df2])

#view resulting DataFrame
print(df3)

 team assists points
0 A 5 11
1 A 7 8
2 A 7 10
3 A 9 6
0 B 4 14
1 B 4 11
2 B 3 7
3 B 7 6

В результате получается один кадр данных, содержащий данные из обоих кадров данных.

Если вы хотите создать новый индекс при объединении DataFrames, вы должны использовать аргумент ignore_index :

#concatenate the DataFrames and ignore index
df3 = pd.concat([df1, df2], ignore_index= True )

#view resulting DataFrame
print(df3)

 team assists points
0 A 5 11
1 A 7 8
2 A 7 10
3 A 9 6
4 B 4 14
5 B 4 11
6 B 3 7
7 B 7 6

Обратите внимание, что индекс результирующего DataFrame находится в диапазоне от 0 до 7.

Примечание № 1. В этом примере мы объединили два кадра данных pandas, но вы можете использовать этот точный синтаксис для объединения любого количества кадров данных, которое вам нужно.

Примечание №2. Полную документацию по функции concat() можно найти здесь .

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

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

Как объединить Pandas DataFrames в несколько столбцов
Как объединить два кадра данных Pandas в индексе
Как добавить столбец в Pandas DataFrame

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.