Освоение слияния фреймов данных в Pandas: основные методы объединения фреймов данных из списка

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

Метод 1: объединение фреймов данных
Самый простой способ объединить фреймы данных из списка — путем объединения. Функция pd.concat()позволяет нам объединять кадры данных по вертикали или по горизонтали. Давайте посмотрим пример:

import pandas as pd
list_of_dfs = [df1, df2, df3]  # List of dataframes to be merged
merged_df = pd.concat(list_of_dfs, axis=0)  # Concatenating vertically
# Concatenating horizontally
merged_df = pd.concat(list_of_dfs, axis=1)

Метод 2: объединение общего столбца
Если ваши фреймы данных имеют общий столбец, вы можете объединить их на основе этого столбца с помощью функции pd.merge(). Давайте рассмотрим пример, в котором мы объединяем столбец с именем «common_column»:

import pandas as pd
list_of_dfs = [df1, df2, df3]  # List of dataframes to be merged
# Merging based on a common column
merged_df = pd.merge(list_of_dfs[0], list_of_dfs[1], on="common_column")
# Merging multiple dataframes
for i in range(2, len(list_of_dfs)):
    merged_df = pd.merge(merged_df, list_of_dfs[i], on="common_column")

Метод 3: объединение нескольких столбцов
Иногда вам может потребоваться объединить кадры данных на основе нескольких столбцов. В таких случаях вы можете передать список столбцов в параметр onфункции pd.merge(). Вот пример:

import pandas as pd
list_of_dfs = [df1, df2, df3]  # List of dataframes to be merged
# Merging based on multiple columns
merged_df = pd.merge(list_of_dfs[0], list_of_dfs[1], on=["col1", "col2"])
# Merging multiple dataframes
for i in range(2, len(list_of_dfs)):
    merged_df = pd.merge(merged_df, list_of_dfs[i], on=["col1", "col2"])

Метод 4: объединение фреймов данных
Другой способ объединить фреймы данных — использовать функцию df.join(). Этот метод объединяет кадры данных на основе их индексов. Вот пример:

import pandas as pd
list_of_dfs = [df1, df2, df3]  # List of dataframes to be merged
# Joining dataframes
merged_df = list_of_dfs[0].join(list_of_dfs[1:])
# Joining multiple dataframes
for i in range(2, len(list_of_dfs)):
    merged_df = merged_df.join(list_of_dfs[i])

В этой статье блога мы рассмотрели несколько методов объединения фреймов данных из списка с помощью pandas. Мы рассмотрели конкатенацию, объединение общего столбца, объединение нескольких столбцов и объединение кадров данных на основе индексов. Овладев этими методами, вы будете готовы справляться с различными сценариями задач по манипулированию данными. Не забудьте выбрать подходящий метод в зависимости от ваших конкретных требований. Удачного слияния фреймов данных!