Советы по объединению таблиц в Pandas: pd concat

pd.concat - это метод библиотеки Pandas, который используется для объединения нескольких объектов данных в один. В частности, pd.concat может быть использован для объединения DataFrames, Series и Panel. Он является функцией верхнего уровня библиотеки Pandas, которая позволяет объединять два или более объекта данных в вертикальном или горизонтальном направлении.

Примеры:

Допустим, у нас есть два DataFrame с одинаковыми именами столбцов:


import pandas as pd
df1 = pd.DataFrame({'A': ['A0', 'A1', 'A2', 'A3'],
                    'B': ['B0', 'B1', 'B2', 'B3'],
                    'C': ['C0', 'C1', 'C2', 'C3'],
                    'D': ['D0', 'D1', 'D2', 'D3']})
df2 = pd.DataFrame({'A': ['A4', 'A5', 'A6', 'A7'],
                    'B': ['B4', 'B5', 'B6', 'B7'],
                    'C': ['C4', 'C5', 'C6', 'C7'],
                    'D': ['D4', 'D5', 'D6', 'D7']})

Мы можем объединить эти два DataFrame по вертикали с помощью метода pd.concat:


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

Вывод:


    A   B   C   D
0  A0  B0  C0  D0
1  A1  B1  C1  D1
2  A2  B2  C2  D2
3  A3  B3  C3  D3
0  A4  B4  C4  D4
1  A5  B5  C5  D5
2  A6  B6  C6  D6
3  A7  B7  C7  D7

Мы можем объединить эти два DataFrame по горизонтали с помощью метода pd.concat и указав аргумент axis = 1:


df4 = pd.concat([df1, df2], axis=1)
print(df4)

Вывод:


    A   B   C   D   A   B   C   D
0  A0  B0  C0  D0  A4  B4  C4  D4
1  A1  B1  C1  D1  A5  B5  C5  D5
2  A2  B2  C2  D2  A6  B6  C6  D6
3  A3  B3  C3  D3  A7  B7  C7  D7

Мы можем также указать ключи для каждого из объединяемых DataFrame с помощью параметра keys:


df5 = pd.concat([df1, df2], keys=['df1', 'df2'])
print(df5)

Вывод:


        A   B   C   D
df1 0  A0  B0  C0  D0
    1  A1  B1  C1  D1
    2  A2  B2  C2  D2
    3  A3  B3  C3  D3
df2 0  A4  B4  C4  D4
    1  A5  B5  C5  D5
    2  A6  B6  C6  D6
    3  A7  B7  C7  D7

Также возможна добавление данных в уже имеющийся DataFrame. Например, у нас есть два DataFrame с разными названиями столбцов:


df1 = pd.DataFrame({'A': ['A0', 'A1', 'A2', 'A3'],
                    'B': ['B0', 'B1', 'B2', 'B3'],
                    'C': ['C0', 'C1', 'C2', 'C3'],
                    'D': ['D0', 'D1', 'D2', 'D3']})
df2 = pd.DataFrame({'E': ['E4', 'E5', 'E6', 'E7'],
                    'F': ['F4', 'F5', 'F6', 'F7'],
                    'G': ['G4', 'G5', 'G6', 'G7'],
                    'H': ['H4', 'H5', 'H6', 'H7']})

Мы можем добавить данные из второго DataFrame в первый с помощью метода pd.concat и указав аргумент axis = 1, после чего можем скопировать значения в исходный DataFrame:


df1 = pd.concat([df1, df2], axis=1)
df1[['E', 'F', 'G', 'H']] = df2[['E', 'F', 'G', 'H']]
print(df1)

Вывод:


    A   B   C   D   E   F   G   H
0  A0  B0  C0  D0  E4  F4  G4  H4
1  A1  B1  C1  D1  E5  F5  G5  H5
2  A2  B2  C2  D2  E6  F6  G6  H6
3  A3  B3  C3  D3  E7  F7  G7  H7

Таким образом, метод pd.concat очень полезный инструмент для комбинирования и объединения данных в Pandas.

Похожие вопросы на: "pd concat "

Важно знать о заболеваниях, передающихся половым путем (STD)
How to Use Justify Content Space Between for Better Web Layout
Установка Jupiter Notebook: подробная инструкция
CSS Transform Translate: Как изменить позицию элемента на странице
Что такое tpl и как использовать?
Strace: инструмент для отладки системных вызовов в Linux
Running Kafka on Docker: Simplify Your Deployment Process
Глобальный PHP – понимание основ мировых веб-проектов
Roblox Lua: создание популярных игр и разработка скриптов
Как центрировать блок в CSS: