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.



Become a Patron!

Follow us on Facebook and Twitter for latest update.