4 hours ago
Every "learn data" tutorial hands you a spotless toy dataset. Real life hands you 40,000 rows with dates in three formats, names in ALLCAPS and a column called "Unnamed: 7". This guide fixes both halves: where to get free data, and how to make it usable.
๐ The free dataset goldmines (bookmark all six)
๐ฏ Pick a learning dataset, not a trophy
๐งน The 5-step cleaning workflow (works in Sheets AND Python)
๐ The pandas version (save this)
Ten lines that cover 80% of everyday mess.
๐ฎ๐ณ Desi data traps nobody warns you about
๐ The portfolio move
Clean a dataset โ write up what you found ("3 surprising things in India's railway data") โ publish the cleaned CSV + your notes back on Kaggle. That single artifact beats a certificate on any data resume, and we love seeing these in Data science basics.
More tools for the job: The 2026 AI tools map, and yes โ AI can write cleaning code for you: see 25 ChatGPT prompts.
Your turn: What's the messiest dataset you've ever met? War stories below. ๐
๐ The free dataset goldmines (bookmark all six)
- Kaggle Datasets โ the biggest playground; every dataset comes with public notebooks so you can see how others analysed it. Steal like an analyst.
- data.gov.in โ Indian government open data: agriculture, transport, health, economy. Underused, unglamorous, gold for India-specific projects.
- Hugging Face Datasets โ the AI community's library; text, images, audio, ready for ML.
- Google Dataset Search โ searches across thousands of public repositories. When you know WHAT you want but not WHO publishes it.
- Our World in Data โ beautifully cleaned global stats (great when you need trustworthy economics/health fast).
- awesome-public-datasets (GitHub) โ the giant curated list of lists.
๐ฏ Pick a learning dataset, not a trophy
- Under ~50MB โ your laptop and your patience will thank you
- Published/updated recently โ stale data teaches stale lessons
- A little dirty โ that's the point. Spotless CSVs teach nothing.
๐งน The 5-step cleaning workflow (works in Sheets AND Python)
- Duplicate the raw file first. Raw data is sacred โ you will butcher something on try #1, everyone does.
- Fix structure: kill blank rows, split merged cells, one column = one kind of thing.
- Fix types: dates as dates, numbers as numbers. Watch for "โน1,200" stored as text and Excel eating leading zeros (phone numbers, PIN codes!).
- Handle gaps: blank โ zero. Delete rows only when the missing value makes them useless; otherwise fill with median/average or a loud "Unknown".
- Duplicates & outliers: exact-duplicate rows go. Outliers get investigated, not auto-deleted โ that "โน9,99,999 phone bill" might be the real story.
๐ The pandas version (save this)
Code:
import pandas as pd
df = pd.read_csv("messy.csv")
df = df.drop_duplicates()
df["date"] = pd.to_datetime(df["date"], dayfirst=True, errors="coerce")
df["price"] = pd.to_numeric(
df["price"].astype(str).str.replace(r"[^\d.]", "", regex=True),
errors="coerce")
df["price"] = df["price"].fillna(df["price"].median())
df["city"] = df["city"].str.strip().str.title()
df.to_csv("clean.csv", index=False)๐ฎ๐ณ Desi data traps nobody warns you about
- Lakhs & crores โ "2.5L" in a salary column. Decide: convert to absolute numbers, always.
- DD/MM/YYYY vs MM/DD/YYYY โ 07/08/2026 has entered the chat.
- Encoding ghosts โ names in regional scripts turning into ร ยคยฐร ยคยพร ยคยฎ means it was read with the wrong encoding (try UTF-8 โ latin1).
- State names โ "TN", "Tamil Nadu", "tamilnadu", three different rows. Pick one canonical spelling and map everything to it.
๐ The portfolio move
Clean a dataset โ write up what you found ("3 surprising things in India's railway data") โ publish the cleaned CSV + your notes back on Kaggle. That single artifact beats a certificate on any data resume, and we love seeing these in Data science basics.
More tools for the job: The 2026 AI tools map, and yes โ AI can write cleaning code for you: see 25 ChatGPT prompts.
Your turn: What's the messiest dataset you've ever met? War stories below. ๐

