📖 Scenario: You are a data analyst working with a small dataset from a customer survey. The data has some missing values and inconsistent entries. You want to understand why cleaning this data takes most of your time before you can analyze it.
🎯 Goal: Build a simple Python script that shows how to identify and handle missing and inconsistent data entries in a dataset.
📋 What You'll Learn
Create a dictionary called survey_data with customer names as keys and their ratings as values, including some missing and inconsistent entries.
Create a variable called missing_value set to None to represent missing data.
Use a for loop with variables customer and rating to iterate over survey_data.items() and create a new dictionary cleaned_data that replaces missing or invalid ratings with the average rating.
Print the cleaned_data dictionary to see the cleaned results.
💡 Why This Matters
🌍 Real World
In real life, data from surveys, sensors, or databases often have missing or wrong values. Cleaning this data is essential before any meaningful analysis.
💼 Career
Data scientists and analysts spend a large part of their work cleaning data to ensure accurate results and insights.
Progress0 / 4 steps
1
Create the initial survey data
Create a dictionary called survey_data with these exact entries: 'Alice': 5, 'Bob': None, 'Charlie': 3, 'David': 'N/A', 'Eva': 4.
Data Analysis Python
Hint
Use curly braces to create a dictionary. Use None for missing values and the string 'N/A' for inconsistent entries.
2
Set the missing value indicator
Create a variable called missing_value and set it to None to represent missing data.
Data Analysis Python
Hint
Just assign None to the variable missing_value.
3
Clean the data by replacing missing and invalid entries
Use a for loop with variables customer and rating to iterate over survey_data.items(). Calculate the average of valid ratings first. Then create a new dictionary called cleaned_data where missing or invalid ratings (like None or 'N/A') are replaced by the average rating.
Data Analysis Python
Hint
First find the average of valid ratings. Then loop through each entry. If the rating is None or 'N/A', replace it with the average. Otherwise, keep the original rating.
4
Print the cleaned data
Write a print statement to display the cleaned_data dictionary.
Data Analysis Python
Hint
Use print(cleaned_data) to show the final cleaned dictionary.
Practice
(1/5)
1. Why does data cleaning usually take the most time in data analysis?
easy
A. Because data cleaning is only about deleting data
B. Because data cleaning requires writing complex machine learning models
C. Because real-world data often has missing or incorrect values that need fixing
D. Because data cleaning is about creating visualizations
Solution
Step 1: Understand real-world data quality
Real-world data is often messy with missing or wrong values.
Step 2: Recognize cleaning tasks
Cleaning fixes these issues to prepare data for analysis.
Final Answer:
Because real-world data often has missing or incorrect values that need fixing -> Option C
Quick Check:
Messy data = cleaning time [OK]
Hint: Messy data means more cleaning time [OK]
Common Mistakes:
Thinking cleaning is about building models
Confusing cleaning with visualization
Assuming cleaning just deletes data
2. Which Python code snippet correctly replaces missing values in a DataFrame column 'age' with the mean age?
easy
A. df['age'].dropna().mean()
B. df['age'].replace('NaN', df['age'].mean())
C. df.fillna('age', df.mean())
D. df['age'].fillna(df['age'].mean(), inplace=True)
Solution
Step 1: Identify correct method to fill missing values
The fillna() method replaces missing values; inplace=True updates the DataFrame directly.
Step 2: Check correct usage of mean for replacement
df['age'].mean() calculates the mean of the 'age' column correctly.
Final Answer:
df['age'].fillna(df['age'].mean(), inplace=True) -> Option D
Quick Check:
fillna with mean = correct syntax [OK]
Hint: Use fillna with mean() and inplace=True [OK]
5. You have a dataset with columns ['name', 'age', 'income']. Some age values are missing, and some income values are negative due to data entry errors. Which sequence of cleaning steps is best to prepare data for analysis?
hard
A. Delete all rows with missing 'age', then fill negative 'income' with mean
B. Fill missing 'age' with median, then replace negative 'income' with zero
C. Fill missing 'age' with zero, then delete rows with negative 'income'
D. Replace negative 'income' with median, then fill missing 'age' with mean
Solution
Step 1: Handle missing 'age' values
Filling missing 'age' with median preserves data without bias from zeros or deletion.
Step 2: Fix negative 'income' errors
Replacing negative 'income' with zero corrects errors without deleting data.
Final Answer:
Fill missing 'age' with median, then replace negative 'income' with zero -> Option B
Quick Check:
Median fill + zero fix = best cleaning [OK]
Hint: Fill missing with median; fix errors with zero [OK]
Common Mistakes:
Deleting rows unnecessarily
Filling missing with zero causing bias
Replacing errors with mean without fixing negatives
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.