Data Analytics Data Cleaning Guide PDF
A practical cleaning workflow: missing values, duplicates, types and formats, validation, a cleaning log and worked examples in Excel, SQL and Python.
9 programs
Choose the best training program according to your career.
Improve the performance of your business with our innovative Industrial Training Program.
Read More →
Our instructor-led training classes are designed to make you an expert.
Read More →
Real-life case studies are a great way to demonstrate your practical knowledge.
Read More →
Explore blogs, latest technologies and industry updates with practical examples.
Read More →Browse all available training programs and choose the right one for your career.
Read More →Know more about who we are and what we stand for.
Discover our mission to equip individuals with essential IT skills and industry expertise.
Read More →Learn, practice and plan your career — bilkul free.
Book a free video counselling session and pick the right course for you.
Read More →Download the data cleaning guide PDF from Uncodemy: missing values, duplicates, outliers, formats, a cleaning log and examples in Excel, SQL and Python.
This page offers Uncodemy's data cleaning guide as a PDF download. Data cleaning is the work of finding and fixing problems such as missing values, duplicates, wrong data types and inconsistent labels so that analysis is trustworthy. The guide explains a general process and shows examples in Excel, SQL and Python.
Download the complete cleaning guide as a PDF. Fill in the short form and the file will download automatically.
A practical cleaning workflow: missing values, duplicates, types and formats, validation, a cleaning log and worked examples in Excel, SQL and Python.
Analysts often spend more of their time preparing data than analysing it, and for good reason. A chart built on dirty data looks as convincing as one built on clean data, but its message may be wrong.
Duplicate orders inflate revenue, text dates sort in the wrong order, and a stray space in a city name splits one city into two. Cleaning is not a boring chore before the real work, it is part of the real work, because the quality of every conclusion depends on it. A well-cleaned dataset also saves time later, since the same fixes do not need to be repeated.
| Problem | Example | Typical fix |
|---|---|---|
| Missing values | Blank phone or null amount | Fill with a justified value, mark as unknown or exclude, depending on the cause |
| Duplicates | Same order loaded twice | Remove exact copies; investigate near-duplicates using a key |
| Wrong data type | Date stored as text & 12/03/2026 | Convert with an explicit date format |
| Inconsistent text | 'Noida', 'noida', 'NOIDA' | Trim spaces and standardise case |
| Invalid values | Age of -5 or 250 | Check the source; correct or set to missing |
| Mixed units | Weights in kg and grams | Convert to one unit |
| Structural issues | Several values packed in one column | Split into separate columns |
There is no single correct way to treat missing data, because the right choice depends on why the values are missing. If a small share of rows is missing in a column you do not need, dropping them may be fine.
If the column matters, consider filling with the median for skewed numbers, the most common category for labels, or a clear label such as Unknown so that the gap stays visible. Never fill silently without a note, and avoid filling values that should stay missing, such as a refund date for an order that was never refunded. Always report how many values you changed so readers can judge the impact.
A short pipeline: trim and standardise text, convert dates, remove duplicates and handle missing numbers. Column names are examples.
import pandas as pd
df = pd.read_csv("customers.csv")
df["city"] = df["city"].str.strip().str.title()
df["signup_date"] = pd.to_datetime(df["signup_date"], format="%d/%m/%Y", errors="coerce")
df = df.drop_duplicates(subset="customer_id")
df["monthly_spend"] = df["monthly_spend"].fillna(df["monthly_spend"].median())
print(df["last_use"].sum())
The same ideas with SQL functions, on a customers table that has city, monthly spend and email columns for illustration. Function names vary slightly between databases; the syntax is similar in SQLite, MySQL and PostgreSQL.
SELECT customer_id,
TRIM(UPPER(city)) AS city_clean,
COALESCE(monthly_spend, 0) AS monthly_spend_filled,
LOWER(TRIM(email)) AS email_clean
FROM customers
WHERE customer_id IS NOT NULL;
Cleaning is only finished when you have checked the result. Compare row counts before and after and explain every difference. Recalculate key totals and spot-check the columns you touched most. Run a quick quality check to make sure you missed no missing values or duplicates, and that formats are consistent. Keep a checklist so the same validation runs every time, before you build any report on top of the data.
| Item | Example entry |
|---|---|
| Issue found | 312 rows with missing city |
| Rule applied | Filled from the pin-code lookup table; remaining 18 rows labelled Unknown |
| Rows affected | 312 of 48,200 (0.6 percent) |
| Reason | City is needed for the regional sales report |
| Date and person | Date of the change and the analyst's name |
If the same data arrives every week, turn your cleaning steps into a script, a saved query or a Power Query flow instead of repeating manual edits. Automation removes human error, makes the work reproducible and frees time for analysis.
Keep the script under version control and add a few automatic checks, for example a warning when the share of missing values suddenly rises, because a sudden change often signals a problem in the source system rather than in your code.
Ready to clean real datasets with confidence? Explore Uncodemy's Data Analytics course and learn from industry trainers.