Вы можете использовать следующий базовый синтаксис для объединения двух фреймов данных 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