w3resource

Handling overlapping columns in Pandas merge using suffixes


Pandas: Custom Function Exercise-14 with Solution


Write a Pandas program to merge DataFrames using suffixes for overlapping columns.

In this exercise, we have handled overlapping columns during a merge by specifying custom suffixes.

Sample Solution :

Code :

import pandas as pd

# Create two sample DataFrames with overlapping column names
df1 = pd.DataFrame({
    'ID': [1, 2, 3],
    'Name': ['Selena', 'Annabel', 'Caeso'],
    'Age': [25, 30, 22]
})

df2 = pd.DataFrame({
    'ID': [1, 2, 3],
    'Name': ['Selena', 'Annabel', 'Caeso'],
    'Age': [27, 31, 23]
})

# Merge the DataFrames, handling overlapping 'Age' column with suffixes
merged_df = pd.merge(df1, df2, on=['ID', 'Name'], suffixes=('_left', '_right'))

# Output the result
print(merged_df)

Output:

   ID     Name  Age_left  Age_right
0   1   Selena        25         27
1   2  Annabel        30         31
2   3    Caeso        22         23  

Explanation:

  • Created two DataFrames df1 and df2 with overlapping column names ('ID', 'Name', 'Age').
  • Used pd.merge() and the suffixes argument to specify custom suffixes for the overlapping 'Age' column.
  • The result includes both 'Age_left' and 'Age_right' to differentiate between the two DataFrames.

Python-Pandas Code Editor:

Have another way to solve this solution? Contribute your code (and comments) through Disqus.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Follow us on Facebook and Twitter for latest update.