Data & ML · Beginner

DataLab: Clean and Chart a Real Dataset

Take a messy public CSV, clean and reshape it, then produce labeled charts and a short findings write-up in a notebook.

Beginner6-10 hoursPython

You download a real, imperfect public dataset (such as a city 311 log or Kaggle survey), clean it with pandas or Polars, and produce a set of labeled charts that tell a coherent story. The project forces you to confront the full analyst workflow rather than a pre-cleaned toy, building habits that transfer directly to job work. By the end you have a Jupyter notebook that doubles as a shareable report with prose, code, and figures in one place.

What you build

  • Load a raw CSV with missing values, inconsistent types, and duplicate rows, then document every cleaning decision
  • Detect and handle nulls, outliers, and mixed-format date or category columns
  • Reshape data between wide and long formats using melt and pivot operations
  • Produce at least four chart types: bar, line, histogram, and scatter, each with titles, axis labels, and a source note
  • Write a short findings section in Markdown cells that interprets each chart in plain language
  • Export the cleaned dataset to a new CSV so downstream consumers get a stable artifact

What it teaches

  • Pandas DataFrame operations: filtering, groupby, merge, melt, and pivot
  • Null handling strategies and when to drop versus impute
  • Matplotlib and Seaborn figure anatomy: axes, titles, tick formatting, and legends
  • Exploratory data analysis workflow from raw file to documented findings
  • Jupyter notebook best practices: cell ordering, Markdown narrative, and reproducibility via requirements.txt

How it works

  1. 1

    Ingest

    • pd.read_csv()
    • df.info() / df.describe()
  2. 2

    Clean

    • Drop duplicates
    • Fix dtypes and dates
    • Handle nulls
  3. 3

    Reshape

    • melt / pivot
    • groupby aggregations
  4. 4

    Visualize

    • Bar, line, histogram, scatter
    • Labels, titles, source notes
  5. 5

    Report

    • Markdown findings cells
    • Export cleaned CSV
fig. 01 — end-to-end notebook pipeline from raw file to findings

Sign in to open the build guide

Free account. Get the step-by-step build and every resource link.

Sign in to continue

Take it further

  • Swap pandas for Polars on the same dataset and benchmark load plus groupby time, then write a one-paragraph comparison
  • Add an interactive chart using Plotly Express so readers can hover for exact values without re-running code
  • Schedule the notebook to run automatically with Papermill against a fresh data export each week and diff the summary stats

More like this

All projects