🔥 Как склеить два датафрейма pandas и достичь совершенства 🔥
concat()
или merge()
.
1. Используя метод concat()
для простого объединения двух датафреймов по горизонтали или вертикали:
import pandas as pd
# Горизонтальное объединение
df_concat_horizontal = pd.concat([df1, df2], axis=1)
# Вертикальное объединение
df_concat_vertical = pd.concat([df1, df2], axis=0)
2. Используя метод merge()
для объединения двух датафреймов по ключу:
import pandas as pd
merged_df = pd.merge(df1, df2, on='key')
Помните, что при объединении по ключу, оба датафрейма должны иметь общий столбец с ключом (например, 'key' в примере).
Детальный ответ
Как склеить два датафрейма pandas?
Добро пожаловать в эту подробную статью о том, как склеить два датафрейма в библиотеке pandas. Во время работы с данными, иногда возникает необходимость объединить два или больше датафреймов для создания более полной и информативной таблицы. Pandas предоставляет нам несколько методов для выполнения этой задачи, и в этой статье мы рассмотрим два из них - concat() и merge().
Метод concat()
Метод concat() позволяет объединить датафреймы вертикально или горизонтально. Для вертикального объединения, мы просто передаем список датафреймов в качестве аргумента и указываем ось, по которой нужно объединять. Например, допустим у нас есть два датафрейма df1 и df2:
import pandas as pd
df1 = pd.DataFrame({'A': [1, 2, 3],
'B': [4, 5, 6]})
df2 = pd.DataFrame({'A': [7, 8, 9],
'B': [10, 11, 12]})
Чтобы объединить их по вертикали, мы можем использовать следующий код:
result = pd.concat([df1, df2], axis=0)
print(result)
Метод concat() возвращает новый датафрейм, содержащий объединенные данные. Указание axis=0 говорит pandas объединить данные по вертикали. Результат будет выглядеть так:
A B
0 1 4
1 2 5
2 3 6
0 7 10
1 8 11
2 9 12
Если мы хотим объединить датафреймы по горизонтали, то можно использовать axis=1:
result = pd.concat([df1, df2], axis=1)
print(result)
Результат будет следующим:
A B A B
0 1 4 7 10
1 2 5 8 11
2 3 6 9 12
Метод merge()
Метод merge() позволяет объединять датафреймы на основе общих столбцов или индексов. Этот метод работает как операция объединения (join) в SQL. Давайте рассмотрим пример:
df1 = pd.DataFrame({'key': ['A', 'B', 'C'],
'value1': [1, 2, 3]})
df2 = pd.DataFrame({'key': ['B', 'C', 'D'],
'value2': [4, 5, 6]})
У нас есть два датафрейма, df1 и df2, и оба содержат столбец 'key'. Мы можем объединить их по этому столбцу, используя метод merge() следующим образом:
result = pd.merge(df1, df2, on='key')
print(result)
Результат будет выглядеть так:
key value1 value2
0 B 2 4
1 C 3 5
Метод merge() объединяет датафреймы по общему столбцу 'key'. Если столбцы не имеют одного и того же имени, мы можем передать аргументы left_on и right_on, чтобы указать имена столбцов в каждом из датафреймов.
Заключение
В этой статье мы рассмотрели два метода для склеивания датафреймов в библиотеке pandas - concat() и merge(). Метод concat() позволяет объединять датафреймы вертикально или горизонтально, в зависимости от указанной оси. Метод merge() объединяет датафреймы на основе общих столбцов или индексов, как операция объединения в SQL.
Помните, что склеивание датафреймов может быть полезным инструментом при анализе данных и создании более полной информационной таблицы. Используйте данные методы в pandas для достижения своих целей.