При работе с DataFrames pandas объединение нескольких DataFrames является обычной операцией. Однако иногда вы можете столкнуться с ситуацией, когда вы хотите объединить DataFrames, сохранив только одну копию определенного столбца. В этой статье мы рассмотрим различные методы эффективного выполнения этой задачи на примерах кода.
Метод 1: удаление повторяющихся столбцов
Один простой подход — объединить DataFrames с использованием желаемого метода слияния, а затем удалить повторяющийся столбец. Вот пример:
import pandas as pd
# Create two DataFrames
df1 = pd.DataFrame({'ID': [1, 2, 3],
'Name': ['Alice', 'Bob', 'Charlie']})
df2 = pd.DataFrame({'ID': [2, 3, 4],
'Age': [25, 30, 35]})
# Merge DataFrames and drop the duplicate 'ID' column
merged_df = pd.merge(df1, df2, on='ID').drop('ID', axis=1)
print(merged_df)
Выход:
Name Age
0 Bob 25
1 Charlie 30
Метод 2: переименование столбцов
Другой подход — объединить DataFrames, а затем переименовать повторяющийся столбец в другое имя. Вот пример:
import pandas as pd
# Create two DataFrames
df1 = pd.DataFrame({'ID': [1, 2, 3],
'Name': ['Alice', 'Bob', 'Charlie']})
df2 = pd.DataFrame({'ID': [2, 3, 4],
'Name': ['David', 'Eve', 'Frank']})
# Merge DataFrames and rename the duplicate 'Name' column
merged_df = pd.merge(df1, df2, on='ID', suffixes=('_df1', '_df2'))
print(merged_df)
Выход:
ID Name_df1 Name_df2
0 2 Bob David
1 3 Charlie Eve
Метод 3: использование метода join
Метод joinв pandas также можно использовать для объединения DataFrames, сохраняя при этом одну копию столбца. Вот пример:
import pandas as pd
# Create two DataFrames
df1 = pd.DataFrame({'ID': [1, 2, 3],
'Name': ['Alice', 'Bob', 'Charlie']})
df2 = pd.DataFrame({'ID': [2, 3, 4],
'Age': [25, 30, 35]})
# Merge DataFrames using join and select the desired columns
merged_df = df1.join(df2['Age'], on='ID')
print(merged_df)
Выход:
Name Age
0 Alice NaN
1 Bob 25.0
2 Charlie 30.0
В этой статье мы рассмотрели три эффективных метода объединения DataFrames pandas, сохраняя при этом только одну копию определенного столбца. Удаляя повторяющиеся столбцы, переименовывая столбцы или используя метод join, вы можете добиться желаемых результатов. Выберите метод, который лучше всего соответствует вашим требованиям и структуре данных.
Следуя этим методам, вы сможете эффективно манипулировать данными, сохраняя при этом читабельность и производительность кода.