Как добавить столбец в DataFrame из другого DataFrame в Python?

Как добавить столбец в DataFrame из другого DataFrame в Python?

Введение

Работа с данными в формате DataFrame является базовым но крайне важным навыком для любого data scientist. В библиотеке pandas для Python предоставлены мощные инструменты для работы с табличными данными. В данной статье мы рассмотрим несколько способов добавления столбцов из одного DataFrame в другой, что является частой задачей при объединении и манипуляции данными.

Что такое DataFrame?

DataFrame — это основная структура данных в pandas, представляющая собой двумерную таблицу, похожую на таблицу в базе данных или электронную таблицу в Excel. Каждый столбец в DataFrame может содержать данные разных типов (числа, строки и т.д.), а строки индексируются числовыми или пользовательскими метками. DataFrame является ключевым элементом для выполнения широкого диапазона операций по анализу данных.

import pandas as pd

data = {
    'Name': ['Alice', 'Bob', 'Charlie'],
    'Age': [25, 30, 35]
}

df = pd.DataFrame(data)
print(df)

Установка библиотеки pandas

Для работы с DataFrame, необходимо установить библиотеку pandas, если она ещё не установлена. Установить библиотеку можно командой pip install pandas, а импортировать функцию можно следующий образом:

import pandas as pd

# Установка библиотеки
# pip install pandas

# Импортируем библиотеку pandas для работы с DataFrame.

Создание примеров DataFrame

Для демонстрации будем использовать два DataFrame. df1 будет содержать столбцы ‘A’ и ‘B’, а df2 — столбец ‘C’.

# Создание первого DataFrame
data1 = {'A': [1, 2, 3], 'B': [4, 5, 6]}
df1 = pd.DataFrame(data1)

# Создание второго DataFrame
data2 = {'C': [7, 8, 9]}
df2 = pd.DataFrame(data2)

Создав эти два DataFrame, мы можем приступить к рассмотрению различных методов их объединения.

Способы добавления столбца

Существует несколько способов добавления столбца из одного DataFrame в другой. Рассмотрим подходы с использованием методов concat, assign и merge.

Добавление столбца с использованием concat

Метод pd.concat позволяет объединить два DataFrame по строкам или по столбцам с помощью параметра axis. В данном случае, для добавления столбца ‘C’ к ‘df1’ используем axis=1.

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

Этот метод полезен, когда у нас имеется соответствие по индексам обеих таблиц.

Добавление столбца с использованием assign

Метод assign позволяет добавлять столбец с возможностью одновременного выполнения каких-либо преобразований данных.

df1 = df1.assign(C=df2['C'])
print(df1)

Этот метод отлично подходит, когда нужно добавить столбец с преобразованиями или вычислениями.

Слияние DataFrame с помощью merge

Метод merge объединяет два DataFrame на основе ключевых столбцов. Это полезно, когда DataFrame содержат общие поля и нужно провести «ссылочное» объединение данных.

df1['key'] = [1, 2, 3]
df2['key'] = [1, 2, 3]
df_merged = pd.merge(df1, df2, on='key')
print(df_merged)

Этот метод позволяет гибко настроить параметры объединения (left, right, inner, outer join).

Практические примеры

Предположим, что в df1 необходимо добавить столбец с нормализованными данными из столбца ‘B’.

df1['B_norm'] = df1['B'] / df1['B'].max()
print(df1)

Пример демонстрирует, как добавить новый столбец, содержащий нормализованные значения из существующего столбца.

Заключение

В этой статье мы рассмотрели несколько популярных методов добавления столбцов из одного DataFrame в другой с использованием библиотеки pandas. Освоение этих методов позволит вам гибко и эффективно манипулировать данными.

Ссылки

Надеемся, статья была для вас полезной и поможет в дальнейшей работе с данными в Python.


Добавить комментарий