Освоение слияния DataFrame в Pandas: подробное руководство с примерами кода

При работе с анализом и манипулированием данными в Python библиотека Pandas является бесценным инструментом. Одной из распространенных задач является объединение кадров данных на основе указанных столбцов. В этой статье блога мы рассмотрим различные методы объединения фреймов данных в Pandas, используя разговорный язык и предоставляя примеры кода, которые помогут вам понять и эффективно применять эти методы.

Метод 1: функция merge()
Функция merge()в Pandas — наиболее распространенный метод объединения кадров данных. Он позволяет объединять два или более фрейма данных на основе одного или нескольких общих столбцов. Вот пример:

import pandas as pd
# Create two sample dataframes
df1 = pd.DataFrame({'ID': [1, 2, 3],
                    'Name': ['John', 'Alice', 'Bob']})
df2 = pd.DataFrame({'ID': [2, 3, 4],
                    'Age': [25, 30, 35]})
# Merge the dataframes based on the 'ID' column
merged_df = pd.merge(df1, df2, on='ID')
print(merged_df)

Выход:

   ID   Name  Age
0   2  Alice   25
1   3    Bob   30

Метод 2: метод join()
Метод join()— это еще один способ объединения кадров данных в Pandas. Он выполняет операцию, аналогичную merge(), но объединяет кадры данных на основе их индексов, а не конкретных столбцов. Вот пример:

import pandas as pd
# Create two sample dataframes
df1 = pd.DataFrame({'ID': [1, 2, 3],
                    'Name': ['John', 'Alice', 'Bob']})
df2 = pd.DataFrame({'Age': [25, 30, 35]}, index=[2, 3, 4])
# Join the dataframes based on their indices
joined_df = df1.join(df2, on='ID')
print(joined_df)

Выход:

   ID   Name   Age
0   1   John   NaN
1   2  Alice  25.0
2   3    Bob  30.0

Метод 3: функция concat()
Функция concat()позволяет объединять кадры данных по вертикали или по горизонтали. Хотя он не объединяет данные на основе указанных столбцов, его все же стоит упомянуть, поскольку он может быть полезен в определенных сценариях. Вот пример:

import pandas as pd
# Create two sample dataframes
df1 = pd.DataFrame({'ID': [1, 2, 3],
                    'Name': ['John', 'Alice', 'Bob']})
df2 = pd.DataFrame({'ID': [4, 5, 6],
                    'Name': ['Charlie', 'David', 'Emma']})
# Concatenate the dataframes vertically
concatenated_df = pd.concat([df1, df2])
print(concatenated_df)

Выход:

   ID     Name
0   1     John
1   2    Alice
2   3      Bob
0   4  Charlie
1   5    David
2   6     Emma

В этой статье мы рассмотрели три различных метода объединения фреймов данных в Pandas. Функция merge()— наиболее часто используемый метод, позволяющий объединять фреймы данных на основе указанных столбцов. Метод join()объединяет кадры данных на основе их индексов, а функция concat()объединяет кадры данных по вертикали или по горизонтали. Освоив эти методы, вы сможете гибко справляться с широким спектром сценариев объединения данных в своих проектах анализа данных.

Не забывайте использовать эти методы в зависимости от ваших конкретных требований и структуры ваших данных. Приятного слияния!