10 мощных методов объединения списков фреймов данных в Python

Метод 1: использование функции pd.concat()
Функция pd.concat()из библиотеки pandas — это универсальный метод объединения DataFrames. Он добавляет DataFrames вертикально или горизонтально на основе параметра axis. Например:

import pandas as pd
dfs = [df1, df2, df3]  # List of DataFrames
concatenated_df = pd.concat(dfs, axis=0)  # Vertical concatenation

Метод 2: использование функции np.concatenate()
Если вы работаете с массивами NumPy вместо DataFrames pandas, вы можете использовать функцию np.concatenate()для достижения конкатенации. Этот метод эффективен и хорошо работает для больших наборов данных. Вот пример:

import numpy as np
arrays = [array1, array2, array3]  # List of NumPy arrays
concatenated_array = np.concatenate(arrays, axis=1)  # Horizontal concatenation

Метод 3: использование метода DataFrame.append()
Метод append()в pandas позволяет объединять DataFrames вертикально. Это полезно, когда вам нужно добавить один DataFrame к существующему. Вот как вы можете его использовать:

import pandas as pd
dfs = [df1, df2, df3]  # List of DataFrames
concatenated_df = pd.DataFrame()  # Empty DataFrame for concatenation
for df in dfs:
    concatenated_df = concatenated_df.append(df)

Метод 4: использование функции List Comprehension и pd.concat()
List Comprehension — это краткий способ объединения DataFrames. Это позволяет выполнять конкатенацию в одной строке кода. Вот пример:

import pandas as pd
dfs = [df1, df2, df3]  # List of DataFrames
concatenated_df = pd.concat([df for df in dfs], axis=0)

Метод 5: использование метода pd.DataFrame.join()
Метод join()в pandas позволяет выполнять горизонтальное объединение на основе имен столбцов. Это особенно полезно, если вы хотите объединить DataFrames в общих столбцах. Вот пример:

import pandas as pd
dfs = [df1, df2, df3]  # List of DataFrames
concatenated_df = dfs[0].join(dfs[1:], how='inner')

Метод 6. Использование функции pd.concat()с ключами.
Вы можете добавить иерархический индекс в объединенный DataFrame, используя параметр keysв 22.функция. Это полезно, если вы хотите определить источник каждого DataFrame. Вот пример:

import pandas as pd
dfs = [df1, df2, df3]  # List of DataFrames
concatenated_df = pd.concat(dfs, keys=['df1', 'df2', 'df3'])

Метод 7: использование функции pd.concat()с ignore_index
параметром ignore_indexв функции pd.concat()позволяет сбросить индекс объединенного DataFrame. Это удобно, если вам нужен непрерывный индекс для результирующего DataFrame. Вот пример:

import pandas as pd
dfs = [df1, df2, df3]  # List of DataFrames
concatenated_df = pd.concat(dfs, ignore_index=True)

Метод 8: использование функции pd.concat()с sort
параметром sortв функции pd.concat()определяет, следует ли сортировать полученный DataFrame по именам столбцов. Если вы работаете с неупорядоченными кадрами данных, установка sort=Falseможет повысить производительность. Вот пример:

import pandas as pd
dfs = [df1, df2, df3]  # List of DataFrames
concatenated_df = pd.concat(dfs, sort=False)

Метод 9: использование функции pd.concat()с verify_integrity
параметром verify_integrityв функции pd.concat()проверяет, дублируются ли имена столбцов во время конкатенации. Если обнаружены дубликаты, выдается ValueError. Это полезно для обеспечения целостности данных. Вот пример:

import pandas as pd
dfs = [df1, df2, df3]  # List of DataFrames
concatenated_df = pd.concat(dfs,verify_integrity=True)

Метод 10: использование функции pd.concat()с keysи names
путем объединения keysи Параметры namesв функции pd.concat()позволяют присваивать имена уровням иерархического индекса. Это предоставляет дополнительную информацию и улучшает читаемость объединенного DataFrame. Вот пример:

import pandas as pd
dfs = [df1, df2, df3]  # List of DataFrames
concatenated_df = pd.concat(dfs, keys=['df1', 'df2', 'df3'], names=['Source', 'Index'])

Объединение списков DataFrames в Python — это универсальная операция, позволяющая эффективно объединять данные из нескольких источников. В этой статье мы рассмотрели десять различных методов: от использования встроенных функций, таких как pd.concat()и np.concatenate(), до использования таких методов, как append(), понимание списков. и join(). Освоив эти методы, вы получите мощный набор инструментов для эффективного решения задач по манипулированию данными.