Data engineering & analytics
Clean and transform data with Pandas
Load messy CSV/Excel/JSON, handle nulls, joins, reshaping, and reproducible notebooks.
~15 focused hours·beginner
Tools: Pandas, NumPy, Jupyter, Excel/Google Sheets, OpenPyXL
Market relevance — share of job ads asking for this
What employers mean
You should be able to…
- Load messy CSV/Excel/JSON with inconsistent encodings, headers, and types
- Handle missing/null values with a documented, defensible strategy (not silent dropna everywhere)
- Merge and reshape data (pivot, melt, groupby-agg) to answer a specific question
- Detect and fix data quality issues: duplicate rows, mixed date formats, inconsistent categorical labels
- Write reproducible notebooks — deterministic outputs, no hidden manual edits to the raw file
- Profile a new dataset quickly (shape, dtypes, nulls, value counts) before doing real analysis
- Extract a clean table from a real-world dirty spreadsheet with merged cells and multiple headers
Needs first: Write production-quality Python for AI work
Learn — free, link-checked
The few resources that matter
Read · beginner · 25 min · pandas.pydata.org
10 minutes to pandas
Fastest official primer on DataFrame/Series mechanics you'll reuse in every wrangling task. — pandas core team
Read · beginner · 90 min · pandas.pydata.org
Getting started tutorials
Task-based official tutorials (filter, group, reshape, merge, missing data) each answerable in a runnable notebook. — pandas core team
Course · beginner · 180 min · kaggle.com
Pandas
Graded, hands-on exercises in Kaggle's free browser notebooks — proof you can wrangle data, not just read about it. — Kaggle
Watch · beginner · 240 min · youtube.com
Data Analysis with Python - Full Course for Beginners (Numpy, Pandas, Matplotlib, Seaborn)
End-to-end messy-CSV-to-chart workflow that doubles as practice for turning a wrangled dataset into a visual story. — freeCodeCamp.org
Practice
Clean and reconcile a messy NBFC loan-collections export
Take (or simulate) a raw NBFC-style Excel export of loan collection calls — merged header cells, inconsistent agent-name spellings, mixed date formats, duplicate rows from re-exports — and produce one clean, analysis-ready table plus a data-quality report. Build it as a reproducible Jupyter notebook, not manual Excel edits.
Done when
- Notebook runs top-to-bottom on the raw file with no manual pre-editing required
- Produces a documented data-quality report: % nulls per column, duplicates found and removed, date-parse failures
- At least one fuzzy-matching or normalization step for inconsistent categorical text (agent names, statuses)
- Final clean table is exported and a short markdown section explains every judgment call made
Prove it
Evidence a recruiter can check
- Public GitHub repo with the notebook, sample raw + cleaned data, and a README with before/after row counts
- A written data-quality report (markdown or PDF) summarizing issues found and how each was resolved
- Kaggle Learn Pandas course completion or a solved Kaggle 'Titanic'-style data-cleaning notebook, linked
Interview
Questions you'll get asked
- Walk me through your process the first 10 minutes you open a dataset you've never seen.
- How do you decide between dropping, imputing, or flagging missing values?
- You have two datasets that should join on customer ID but the join drops 15% of rows — how do you debug it?
- Explain the difference between .apply(), vectorized operations, and why one is usually faster.
- How would you deduplicate records that are 'the same customer' but spelled slightly differently?
- Given a wide table of monthly columns, how do you reshape it to long format for analysis?
- What's a time you found a data quality bug that changed the conclusion of an analysis?