Python Tutorial : Clean and Validate
Key Takeaways
This video tutorial covers data cleaning and validation using Python, specifically using the pandas library to handle missing data and compute summary statistics for birth weight data from the National Survey of Family Growth.
Full Transcript
in the previous lesson we read data from the National Survey of family growth and selected a column from a data frame in this lesson we'll check for errors and prepare the data for analysis we'll use the same data frame we used in the previous lesson NS f G which contains one row for each pregnancy in the survey I'll select the variable birth weight l b1 which contains the pound part of birth weight and assign it to pounds and birth weight oszi one contains the ounce part of birth weight so I'll assign that to ounces before we do anything with this data we have to validate it one part of validation is confirming that we are interpreting the data correctly we can use value counts to see what values appear in pounds and how many times each value appears by default the results are sorted with the most frequent value first so I use sort index to sort them by value instead with the lightest babies first and heaviest babies last as we'd expect the most frequent values are 6 to 8 pounds but there are some very light babies a few very heavy babies and two values 98 and 99 that indicate missing data we can validate the results by comparing them to the codebook which lists the values and their frequencies the results here agree with the codebook so we have some confidence that we are reading and interpreting the data correctly another way to validate the data is with describe which computes summary statistics like the mean standard deviation and min and Max here are the results for pounds count is the number of values the minimum and maximum values are 0 and 99 and the fiftieth percentile which is the median is 7 the mean is about 8.0 5 but that doesn't mean much because it includes the special values 98 and 99 before we can really compute the mean we have to replace those values with n a n to represent missing data the replacement that does what we want it takes a list of values we want to replace and the value we want to replace them with and P dot n means we're getting the special value nan from the numpy library which is imported as n P the result from replace is a new series which I assign back to pounds remember that the mean of the original series was about 8.0 5 pounds the mean of the new series is about 6 point 7 pounds it makes a big difference when you remove a few 99 pound babies instead of making a new series you can call replace with in place equals true which modifies the existing series in place that is without making a copy here's what that looks like four ounces since we didn't make a new series we don't have to assign it back to ounces now we want to combine pounds and ounces into a single series that contains total birth weight arithmetic operators work with series objects so to convert from ounces to pounds we can divide by 16 there are 16 ounces in a pound then we can add the two series objects to get the total here are the results the mean is about 7.1 which is a little more than what we got before we added in the ounces part now we're close to answer in our original question the average birth weight for babies in the US but as we'll see in the next lesson we're not there yet first let's practice what we learned in this video
Original Description
Want to learn more? Take the full course at https://learn.datacamp.com/courses/exploratory-data-analysis-in-python at your own pace. More than a video, you'll learn hands-on coding & quickly apply skills to your daily work.
---
In the previous lesson, we read data from the National Survey of Family Growth and selected a column from a DataFrame. In this lesson, we'll check for errors and prepare the data for analysis.
We'll use the same DataFrame we used in the previous lesson, nsfg, which contains one row for each pregnancy in the survey.
I'll select the variable birthwgt_lb1, which contains the pound part of birth weight, and assign it to pounds.
And birthwgt_oz1 contains the ounce part of birth weight, so I'll assign that to ounces.
Before we do anything with this data, we have to validate it. One part of validation is confirming that we are interpreting the data correctly.
We can use value_counts() to see what values appear in pounds and how many times each value appears.
By default, the results are sorted with the most frequent value first, so I use sort_index() to sort them by value instead, with the lightest babies first and heaviest babies last.
As we'd expect, the most frequent values are 6-8 pounds, but there are some very light babies, a few very heavy babies, and two values, 98, and 99, that indicate missing data.
We can validate the results by comparing them to the codebook, which lists the values and their frequencies. The results here agree with the codebook, so we have some confidence that we are reading and interpreting the data correctly.
Another way to validate the data is with describe(), which computes summary statistics like the mean, standard deviation, min, and max.
Here are the results for pounds. count is the number of values. The minimum and maximum values are 0 and 99, and the 50th percentile, which is the median, is 7.
The mean is about 8.05, but that doesn't mean much because it includes the special values 98 and 99. Bef
Watch on YouTube ↗
(saves to browser)
Sign in to unlock AI tutor explanation · ⚡30
Playlist
Uploads from DataCamp · DataCamp · 0 of 60
← Previous
Next →
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
SQL Server Tutorial: Date manipulation
DataCamp
R Tutorial: Intermediate Interactive Data Visualization with plotly in R
DataCamp
R Tutorial: Adding aesthetics to represent a variable
DataCamp
R Tutorial: Moving Beyond Simple Interactivity
DataCamp
Python Tutorial: Why use ML for marketing? Strategies and use cases
DataCamp
Python Tutorial: Preparation for modeling
DataCamp
Python Tutorial: Machine Learning modeling steps
DataCamp
R Tutorial: The prior model
DataCamp
R Tutorial: Data & the likelihood
DataCamp
R Tutorial: The posterior model
DataCamp
R Tutorial: An Introduction to plotly
DataCamp
R Tutorial: Plotting a single variable
DataCamp
R Tutorial: Bivariate graphics
DataCamp
Python Tutorial: Customer Segmentation in Python
DataCamp
Python Tutorial: Time cohorts
DataCamp
Python Tutorial: Calculate cohort metrics
DataCamp
Python Tutorial: Cohort analysis visualization
DataCamp
R Tutorial: Building Dashboards with flexdashboard
DataCamp
R Tutorial: Anatomy of a flexdashboard
DataCamp
R Tutorial: Layout basics
DataCamp
R Tutorial: Advanced layouts
DataCamp
Python Tutorial: Time Series Analysis in Python
DataCamp
Python Tutorial: Correlation of Two Time Series
DataCamp
Python Tutorial: Simple Linear Regressions
DataCamp
Python Tutorial: Autocorrelation
DataCamp
R Tutorial: The gapminder dataset
DataCamp
R Tutorial: The filter verb
DataCamp
R Tutorial: The arrange verb
DataCamp
R Tutorial: The mutate verb
DataCamp
R Tutorial: What is cluster analysis?
DataCamp
R Tutorial: Distance between two observations
DataCamp
R Tutorial: The importance of scale
DataCamp
R Tutorial: Measuring distance for categorical data
DataCamp
Python Tutorial: Plotting multiple graphs
DataCamp
Python Tutorial: Customizing axes
DataCamp
Python Tutorial: Legends, annotations, & styles
DataCamp
Python Tutorial: Introduction to iterators
DataCamp
Python Tutorial: Playing with iterators
DataCamp
Python Tutorial: Using iterators to load large files into memory
DataCamp
SQL Tutorial: Introduction to Relational Databases in SQL
DataCamp
SQL Tutorial: Tables: At the core of every database
DataCamp
SQL Tutorial: Update your database as the structure changes
DataCamp
Python Tutorial: Classification-Tree Learning
DataCamp
Python Tutorial: Decision-Tree for Classification
DataCamp
Python Tutorial: Decision-Tree for Regression
DataCamp
Python Tutorial: Census Subject Tables
DataCamp
Python Tutorial: Census Geography
DataCamp
Python Tutorial: Using the Census API
DataCamp
R Tutorial: A/B Testing in R
DataCamp
R Tutorial: Baseline Conversion Rates
DataCamp
R Tutorial: Designing an Experiment - Power Analysis
DataCamp
R Tutorial: Introduction to qualitative data
DataCamp
R Tutorial: Understanding your qualitative variables
DataCamp
R Tutorial: Making Better Plots
DataCamp
SQL Tutorial: OLTP and OLAP
DataCamp
SQL Tutorial: Storing data
DataCamp
SQL Tutorial: Database design
DataCamp
Python Tutorial: Introduction to spaCy
DataCamp
Python Tutorial: Statistical Models
DataCamp
Python Tutorial: Rule-based Matching
DataCamp
More on: Data Literacy
View skill →Related AI Lessons
⚡
⚡
⚡
⚡
FREE AI Sin City Photo Generator — Turn Any Photo Into High-Contrast Noir Art (2026)
Dev.to AI
Google makes Gemini’s personalized image generation free for all US users
The Next Web AI
Gemini’s personalized AI image generation is now free for U.S. users
TechCrunch AI
WebP's Compression Secret: How a 1MB PNG Becomes a 200KB WebP
Dev.to · swift king
🎓
Tutor Explanation
DeepCamp AI