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…

  1. Load messy CSV/Excel/JSON with inconsistent encodings, headers, and types
  2. Handle missing/null values with a documented, defensible strategy (not silent dropna everywhere)
  3. Merge and reshape data (pivot, melt, groupby-agg) to answer a specific question
  4. Detect and fix data quality issues: duplicate rows, mixed date formats, inconsistent categorical labels
  5. Write reproducible notebooks — deterministic outputs, no hidden manual edits to the raw file
  6. Profile a new dataset quickly (shape, dtypes, nulls, value counts) before doing real analysis
  7. 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

  1. Walk me through your process the first 10 minutes you open a dataset you've never seen.
  2. How do you decide between dropping, imputing, or flagging missing values?
  3. You have two datasets that should join on customer ID but the join drops 15% of rows — how do you debug it?
  4. Explain the difference between .apply(), vectorized operations, and why one is usually faster.
  5. How would you deduplicate records that are 'the same customer' but spelled slightly differently?
  6. Given a wide table of monthly columns, how do you reshape it to long format for analysis?
  7. What's a time you found a data quality bug that changed the conclusion of an analysis?
See where you stand for AI-enabled Data Analyst