🔗 Как объединить 2 датафрейма pandas: простое руководство с пошаговыми советами

Чтобы объединить два датафрейма в Pandas, вы можете использовать функцию merge() или join(). Вот как это сделать:

Через функцию merge():

import pandas as pd

# Создание первого датафрейма
df1 = pd.DataFrame({'key': ['A', 'B', 'C', 'D'],
                    'value1': [1, 2, 3, 4]})

# Создание второго датафрейма
df2 = pd.DataFrame({'key': ['B', 'D', 'E', 'F'],
                    'value2': [5, 6, 7, 8]})

# Объединение датафреймов по столбцу 'key'
merged_df = pd.merge(df1, df2, on='key')

# Вывод объединенного датафрейма
print(merged_df)

Через функцию join():

import pandas as pd

# Создание первого датафрейма
df1 = pd.DataFrame({'key': ['A', 'B', 'C', 'D'],
                    'value1': [1, 2, 3, 4]})

# Создание второго датафрейма
df2 = pd.DataFrame({'key': ['B', 'D', 'E', 'F'],
                    'value2': [5, 6, 7, 8]})

# Объединение датафреймов по столбцу 'key'
joined_df = df1.join(df2.set_index('key'), on='key')

# Вывод объединенного датафрейма
print(joined_df)

Обе функции объединяют датафреймы по указанному столбцу (в данном случае 'key') и возвращают новый датафрейм с объединенными данными.

Детальный ответ

Как объединить 2 датафрейма pandas

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

1. Метод merge()

Метод merge() в pandas позволяет объединить два датафрейма на основе общих значений столбцов. Этот метод позволяет выполнять объединение по различным типам соединений, таким как внутреннее соединение, внешнее соединение, левое соединение и правое соединение.


import pandas as pd

# Создаем первый датафрейм
df1 = pd.DataFrame({'id': [1, 2, 3],
                    'name': ['John', 'Alice', 'Bob']})

# Создаем второй датафрейм
df2 = pd.DataFrame({'id': [2, 3, 4],
                    'age': [25, 30, 35]})

# Объединяем датафреймы по столбцу 'id'
merged_df = pd.merge(df1, df2, on='id')

print(merged_df)
    

В данном примере мы создаем два датафрейма df1 и df2 с различными столбцами. Затем мы используем метод merge(), указывая столбец 'id' в качестве ключа объединения. Результатом будет новый датафрейм merged_df, содержащий объединенные данные.

2. Метод join()

Метод join() также позволяет объединить два датафрейма на основе общих значений столбцов. Однако, в отличие от метода merge(), метод join() выполняет объединение по индексам датафреймов.


import pandas as pd

# Создаем первый датафрейм
df1 = pd.DataFrame({'id': [1, 2, 3],
                    'name': ['John', 'Alice', 'Bob']})

# Создаем второй датафрейм
df2 = pd.DataFrame({'age': [25, 30, 35]},
                   index=[2, 3, 4])

# Объединяем датафреймы по индексам
joined_df = df1.join(df2, on='id')

print(joined_df)
    

В данном примере мы используем метод join() для объединения двух датафреймов df1 и df2. Мы указываем столбец 'id' в качестве ключа объединения. Результатом будет новый датафрейм joined_df, содержащий объединенные данные.

3. Метод concat()

Метод concat() позволяет объединить два датафрейма путем простого объединения по вертикали или горизонтали. Этот метод не требует наличия общих столбцов или индексов для объединения.


import pandas as pd

# Создаем первый датафрейм
df1 = pd.DataFrame({'id': [1, 2, 3],
                    'name': ['John', 'Alice', 'Bob']})

# Создаем второй датафрейм
df2 = pd.DataFrame({'age': [25, 30, 35],
                    'city': ['London', 'Paris', 'New York']})

# Объединяем датафреймы по вертикали
concatenated_df = pd.concat([df1, df2], axis=0)

print(concatenated_df)
    

В данном примере метод concat() используется для объединения двух датафреймов df1 и df2. Мы указываем ось объединения (0 - вертикальное объединение, 1 - горизонтальное объединение). Результатом будет новый датафрейм concatenated_df, содержащий объединенные данные.

Заключение

Объединение двух датафреймов pandas - важная операция в анализе данных. В данной статье мы рассмотрели три основных метода для объединения датафреймов: merge(), join() и concat(). Каждый метод имеет свои особенности и может использоваться в различных ситуациях. Надеюсь, эта статья помогла вам разобраться в объединении датафреймов в pandas.

Видео по теме

Урок 4. Обработка и анализ данных на Python. Объединение датафреймов в Pandas

Объединение данных, метод merge | Аналитик данных | karpov.courses

► 17. ОБЪЕДИНЕНИЕ ДАННЫХ. Метод merge | Курс по Pandas.

Похожие статьи:

🔗 Как объединить 2 датафрейма pandas: простое руководство с пошаговыми советами

pandas unstack: как работает и зачем нужно использовать?