Self-directed practice exercises covering pandas, and data manipulation , built on real datasets as part of my data analytics learning path.
"43 exercises. 3 volumes. Built to think like an analyst — not just code like one."
A self-directed practice series covering core data analytics skills using Python and pandas. Each exercise is based on a real dataset and designed around a 4-question analytical framework — not memorizing syntax, but building the thinking process behind every query.
Every exercise starts with these questions before writing a single line of code:
- What output do I want? — A table? A number? A chart?
- Which columns do I need? — List them before coding
- Do I need to filter first? — Subset before grouping
- Group or aggregate? — Then the code writes itself
Core pandas skills from scratch.
| Topic | Exercises |
|---|---|
| Filtering | EX 01–02 |
| GroupBy + Agg | EX 03–04 |
| pd.cut — Binning | EX 05 |
| Correlation | EX 06 |
| Melt | EX 07 |
| Cleaning Pipeline | EX 08 |
| Pivot + Unstack | EX 09 |
| Boss Level | EX 10 |
Deeper manipulation, new patterns, visualization.
| Topic | Exercises |
|---|---|
| Filtering (advanced) | EX 01–04 |
| GroupBy + Agg (multi-metric) | EX 05–08 |
| pd.cut + pd.qcut | EX 09–11 |
| Melt + Visualization | EX 12–13 |
| Pivot Tables | EX 14–15 |
| Apply & Lambda | EX 16–17 |
| Boss Level — Full Pipeline | EX 18 |
Targeted weak spots + new manipulation skills for any future dataset.
| Topic | Exercises |
|---|---|
| Filtering + .transform() | EX 01–03 |
| Lambda — axis=1, complex logic | EX 04–06 |
| pd.qcut — quintiles | EX 07–08 |
| Pivot Tables — subtraction, margins | EX 09–11 |
| String Operations | EX 12 |
| Rank within groups | EX 13 |
| Merge — joining DataFrames | EX 14 |
| Boss Level — Full Pipeline | EX 15 |
All exercises use the AI Worker Burnout & Attrition Risk dataset — a real-world inspired dataset covering 1,500 tech employees across 10 countries.
Key columns: job_role, country, burnout_score, productivity_score, salary_usd_k, fear_of_ai_replacement, attrition_risk, remote_work_type, education_level
- Python — pandas, matplotlib, seaborn
- SQLite — via sqlite3 + pd.read_sql
- Jupyter Notebook — for running and documenting solutions
groupby agg filtering pd.cut pd.qcut melt pivot_table apply lambda merge transform rank str operations correlation window functions CTEs subqueries HAVING unstack reset_index nlargest idxmax value_counts quantile
Built by Fatima Zahra — a self-taught data analyst from Morocco 🇲🇦
These exercises are part of a structured self-learning path toward a junior data analyst role — combining real datasets, deliberate practice, and analytical thinking over syntax memorization.