← All courses

🐼 pandas

The library you inherit, in depth — the index and MultiIndex model, copy versus view and the warning everyone silences, dtypes and missing values, what groupby is really doing, merge semantics that quietly change your row count, and where the memory goes.

No lessons published yet — this is the roadmap, so you can see exactly what the course will cover before it lands.

Before you start: Python for Data — Series 1. You need Python and a first pass at pandas before this is useful. Python for Data teaches you to do the job with it; this track is what the library is doing underneath while you do.

Short on time? The 15 episodes marked core are the shortest path to being productive at work. Start there and pick up the rest whenever a job asks for them.


Series 1 · The Model Underneath

the index, dtypes, and why your assignment vanished

  1. 01

    The Index — Alignment, and Where the NaNs Came From

    coreintermediatecoming soon
  2. 02

    loc, iloc and MultiIndex — Selecting Rows Without Guessing

    coreintermediatecoming soon
  3. 03

    Copy Against View — SettingWithCopyWarning, and What Copy-on-Write Changed

    coreintermediatecoming soon
  4. 04

    dtypes — Why One Missing Value Turned Your Integer IDs Into Floats

    coreintermediatecoming soon
  5. 05

    NaN, None and pd.NA — Three Kinds of Missing, and What Each Aggregate Does

    coreintermediatecoming soon
  6. 06

    Project — Audit an Inherited Notebook and Find What It Silently Did

    coreintermediate#projectcoming soon

Series 2 · Reshaping and Joining

groupby, merge, and the row counts that change behind you

  1. 01

    groupby — agg, transform and apply, and Which One You Actually Wanted

    coreadvancedcoming soon
  2. 02

    merge — indicator and validate, and Catching a Fan-Out Before It Doubles a Total

    coreadvancedcoming soon
  3. 03

    pivot, melt, stack — Wide Against Long, and Which Function Does Which

    coreadvancedcoming soon
  4. 04

    concat — Stacking Frames, and the Duplicate Index That Bites Later

    advancedcoming soon
  5. 05

    Time Series — resample, rolling, and tz_localize Against tz_convert

    coreadvancedcoming soon
  6. 06

    Project — Turn Three Awkward Files Into One Table That Reconciles

    coreadvanced#projectcoming soon

Series 3 · Performance and Scale

where the memory went, and when to stop using pandas

  1. 01

    Where the Memory Went — memory_usage(deep=True) and object dtype

    coreadvancedcoming soon
  2. 02

    Vectorisation — Why iterrows Is a Loop and apply Usually Is Too

    coreadvancedcoming soon
  3. 03

    Reading and Writing — Why a CSV Round Trip Loses Every dtype You Set

    advancedcoming soon
  4. 04

    Where pandas Runs Out — and the Four Cheaper Answers Before a Cluster

    coreadvancedcoming soon
  5. 05

    Project — Make a Job That Ran Out of Memory Finish on the Same Machine

    coreadvanced#projectcoming soon

Not here, on purpose

  • Python itself, notebooks, and doing a data job end to end — covered in Python for Data — this track assumes all of it
  • Plotting and visualization — covered in BI & Data Visualization, and in Python for Data for the exploratory case
  • When to use polars instead — covered in Polars, and the comparison itself belongs there rather than being argued from one side
  • Machine learning with scikit-learn — not covered; this track moves and shapes data