w3resource

Merging DataFrames and Handling Missing Data Using fillna() in Pandas


Pandas: Custom Function Exercise-17 with Solution


Write a Pandas program to merge DataFrames with missing data.

In this exercise, we have merged two DataFrames and handle missing data (NaN) after the merge.

Sample Solution :

Code :

import pandas as pd

# Create two sample DataFrames with missing data
df1 = pd.DataFrame({
    'ID': [1, 2, 3],
    'Name': ['Selena', 'Annabel', 'Caeso']
})

df2 = pd.DataFrame({
    'ID': [1, 3, 4],
    'Age': [25, 22, 28]
})

# Perform an outer merge to include all rows and handle missing data
merged_df = pd.merge(df1, df2, on='ID', how='outer')

# Fill missing values with 'Unknown' for Name and 0 for Age
merged_df['Name'].fillna('Unknown', inplace=True)
merged_df['Age'].fillna(0, inplace=True)

# Output the result
print(merged_df)

Output:

   ID     Name   Age
0   1   Selena  25.0
1   2  Annabel   0.0
2   3    Caeso  22.0
3   4  Unknown  28.0

Explanation:

  • Created two DataFrames with potential missing data after the merge.
  • Used pd.merge() with how='outer' to include all rows and handle missing data.
  • Filled missing values in 'Name' with 'Unknown' and missing values in 'Age' with 0.

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.