Open workspace
Track 2 of 5 · Beginner

Data ToolsNumPy, pandas, plots and scikit-learn.

Arrays, tables and charts drawn as what they are, so shapes, masks and joins stop being guesswork.

5modules
24lessons planned
6ready to study now
15quiz questions so far

The syllabus5 modules, one objective per lesson.

The course is being built in this order. Every lesson is listed, including the ones still in production, so you can see where the track goes. Open lessons have their parts, key terms and quiz free.

Module 1

NumPy

5 of 7 lessons open

  1. 1.1Why NumPySay what an array holds that a list does not, and why that makes it faster and smaller.Open
  2. 1.2Shape, dtype and ReshapingRead any array's shape and dtype, and reshape without copying.Open
  3. 1.3Indexing, Slicing and MasksSelect exactly the elements you want, including by condition.Open
  4. 1.4Vectorised Operations and BroadcastingCompute on whole arrays at once, and predict when shapes combine.Open
  5. 1.5Aggregations Along AxesSum, average and find extremes over rows or columns.Open
  6. 1.6Linear Algebra in NumPyWrite the maths of the ML videos directly as code.
    What it will cover
    • @ against *, and transpose
    • linalg.solve, linalg.eig, linalg.svd
    • XᵀXw = Xᵀy in one line, and why not inv
    In production
  7. 1.7Random Numbers and ReproducibilityGenerate random data you can reproduce.
    What it will cover
    • default_rng and seeds; the legacy global interface named, not taught
    • Sampling, shuffling, permutations, and keeping paired arrays together
    In production
Module 2

pandas

7 lessons, in production

  1. 2.1Meet pandasSay what a DataFrame is and why tabular data gets its own library, by loading one real file and asking it a question.
    What it will cover
    • Where the data actually comes from: a CSV on disk, and what is in it
    • The same job done twice — by hand with the standard library, then with read_csv — so the library is needed rather than announced
    • The DataFrame named as pandas' central structure, the way the array is NumPy's
    • head, and what the four things wrong with this file look like before anything is fixed
    • One question answered end to end: what the weather does to takings
    In production
  2. 2.2Series and DataFramesHold a table with named columns and an index.
    What it will cover
    • Series and DataFrame
    • Reading CSV and Parquet, and read_sql against a SQLite file for a table that lives in a database
    • head, info, describe
    • The dtype of a text column: what Colab's pandas shows, and the dedicated str dtype named with the release that has it (pandas 3, January 2026)
    • Polars, named as the faster alternative with a similar role
    In production
  3. 2.3Selecting and FilteringGet the rows and columns you need.
    What it will cover
    • Columns; loc and iloc
    • Boolean filters; query
    • Sorting
    • Chained assignment: why df[mask]["col"] = 1 does not reliably write, the loc form that does, and copy-on-write named as the release that turns the warning into an error (pandas 3)
    In production
  4. 2.4Cleaning DataFix types, missing values and duplicates.
    What it will cover
    • isna, fillna, dropna
    • Type conversion; strings and categories
    • duplicated, drop_duplicates
    In production
  5. 2.5groupby and AggregationSplit, apply, combine: statistics per group.
    What it will cover
    • groupby with one and several keys
    • agg, transform
    • Value counts and crosstabs
    In production
  6. 2.6Merging, Joining and ReshapingCombine tables and change their shape.
    What it will cover
    • merge (inner, left, outer), animated
    • concat
    • pivot_table and melt
    In production
  7. 2.7Dates and Time Series in pandasParse dates and resample time series.
    What it will cover
    • to_datetime, the dt accessor
    • Resampling and rolling windows
    • Time-based indexing
    In production
Module 3

Visualisation

5 lessons, in production

  1. 3.1Meet MatplotlibSay why a table of numbers is not an answer, and draw the first plot.
    What it will cover
    • Three numbers fit in a sentence; two thousand nine hundred rows do not
    • plt.plot on a bare list, and where the x values came from when you gave none
    • plot against scatter, and which question each one answers
    • Why the calls are shaped the way they are: pyplot's MATLAB inheritance, named once
    • The same data plotted badly and then well, so the choice is visible
    In production
  2. 3.2Matplotlib FundamentalsUnderstand the figure–axes model and draw the core plots.
    What it will cover
    • Figure and axes
    • Line, scatter, bar, histogram
    • Labels, titles, legends
    In production
  3. 3.3Several Plots and Readable ChartsLay out subplots and make charts that read at a glance.
    What it will cover
    • Subplots and shared axes
    • Colour, scale and annotation choices
    • Saving figures
    In production
  4. 3.4Statistical Plots with seabornDraw the EDA plots in one call each.
    What it will cover
    • histplot, kdeplot, ecdfplot
    • boxplot, violinplot
    • pairplot, heatmap
    In production
  5. 3.5Plotting ModelsDraw the pictures ML needs: decision boundaries, curves, residuals.
    What it will cover
    • Decision surfaces with a mesh grid
    • Loss, learning and validation curves
    • ROC and PR curves; residual plots
    In production
Module 4

The scikit-learn API

4 lessons, in production

  1. 4.1Meet scikit-learnSay what scikit-learn is for, and fit and score a first model against a baseline.
    What it will cover
    • Every model in the library, whatever it does, answers the same three verbs
    • A baseline first: DummyClassifier scores 0.614 by always answering the commoner class
    • Then a real model, 0.825, on rows it was not trained on — and the twenty one points that is worth
    • The common mistake named: reading a score without asking what guessing gets
    • What the library does not do, and which track that belongs to
    In production
  2. 4.2Estimators: fit, predict, transformUse any scikit-learn model with the same three verbs.
    What it will cover
    • Estimators, transformers, predictors
    • Hyperparameters in the constructor; learned attributes after fit
    • DummyClassifier and DummyRegressor as baselines
    • set_output(transform="pandas"), so transformers return DataFrames with column names
    In production
  3. 4.3Splitting and ScoringSplit data and score models with scikit-learn's helpers.
    What it will cover
    • train_test_split with stratification
    • cross_val_score, cross_validate
    • The metrics module; scorers
    In production
  4. 4.4Pipelines and Column TransformersChain preprocessing and model into one object that cannot leak.
    What it will cover
    • Pipeline and make_pipeline
    • ColumnTransformer for mixed columns
    • Grid search over pipeline steps; saving with joblib
    In production

What you’ll learnby the end of the track.

  • Reason about an array's shape and dtype before an operation runs.
  • Select, filter, group and join tables with pandas.
  • Make charts that answer one question clearly.
  • Use scikit-learn's fit, transform and predict with confidence.

Before you startand how the lessons work.

  • Basic Python: variables, loops, functions and lists. The Python track covers all of it.
  • Every open lesson shows its parts, key terms and quiz for free. Sign in to check your answers and save your progress.
  • While the course is being recorded, the practice problems, common mistakes, self-checking notebooks, cheat sheets and project checks are free with an account too.

Where it leadslive roles this track prepares you for.

Openings from companies’ own career pages, updated continuously.

Questionsabout this track.

Why learn these four libraries?

Almost every machine learning notebook loads data with pandas, computes with NumPy, plots with Matplotlib and models with scikit-learn.

Which versions does the course use?

The versions Google Colab ships, checked when each lesson is recorded, including NumPy 2 and pandas 3.

The other tracksand the order to take them in.

See the learning path