Функция concat
Функция concat применяется к списку объектов DataFrame
или Series и объединяет их вдоль строк (ось 0)
или столбцов (ось 1). Параметр join управляет
способом объединения индексов: join='outer' (по умолчанию)
включает все индексы, а join='inner' оставляет только
пересекающиеся индексы.
Синтаксис
pd.concat(objs, axis=0, join='outer', ignore_index=False, keys=None)
Пример
Объединим две таблицы по строкам (добавим строки):
import pandas as pd
df1 = pd.DataFrame({
'a': [1, 2, 3],
'b': [10, 20, 30]
})
df2 = pd.DataFrame({
'a': [4, 5],
'b': [40, 50]
})
res = pd.concat([df1, df2])
print(res)
Результат выполнения кода:
a b
0 1 10
1 2 20
2 3 30
0 4 40
1 5 50
Пример
Объединим таблицы по столбцам (добавим столбцы):
import pandas as pd
df1 = pd.DataFrame({
'a': [1, 2, 3],
'b': [10, 20, 30]
})
df2 = pd.DataFrame({
'c': [100, 200, 300],
'd': [1000, 2000, 3000]
})
res = pd.concat([df1, df2], axis=1)
print(res)
Результат выполнения кода:
a b c d
0 1 10 100 1000
1 2 20 200 2000
2 3 30 300 3000
Пример
Используем параметр join='inner' для объединения
только по пересекающимся индексам:
import pandas as pd
df1 = pd.DataFrame({
'a': [1, 2, 3],
'b': [10, 20, 30]
}, index=[0, 1, 2])
df2 = pd.DataFrame({
'a': [4, 5, 6],
'b': [40, 50, 60]
}, index=[1, 2, 3])
res = pd.concat([df1, df2], join='inner')
print(res)
Результат выполнения кода:
a b
1 2 20
1 4 40
2 3 30
2 5 50
Пример
Добавим метки уровням с помощью параметра keys:
import pandas as pd
df1 = pd.DataFrame({
'a': [1, 2],
'b': [10, 20]
})
df2 = pd.DataFrame({
'a': [3, 4],
'b': [30, 40]
})
res = pd.concat([df1, df2], keys=['x', 'y'])
print(res)
Результат выполнения кода:
a b
x 0 1 10
1 2 20
y 0 3 30
1 4 40
Смотрите также
-
функция
merge,
которая объединяет таблицы по ключам -
функция
merge_asof,
которая выполняет асимметричное объединение по времени -
функция
merge_ordered,
которая объединяет упорядоченные данные -
функция
concat,
которая объединяет объекты вдоль осей