Why Polars?
Polars is a blazing-fast DataFrame library written in Rust with a clean Python API. It handles large datasets with ease, uses a powerful expression syntax, and avoids many of the pitfalls of pandas (no index headaches, lazy evaluation, and true parallel execution).
Using the Minimal Viable Analytics (MVA) approach, you focus on just 6 skills instead of trying to memorise every method. Think of it like building a house — you need a solid foundation (your data), 6 pillars (core skills), and a roof (the decisions you make).
The 6 Pillars — Polars Tutorials
Work through each pillar in order. Every tutorial is interactive — edit the code and run it directly in your browser. No Python installation needed.
Grouping & Aggregation
Group rows by category and summarise with group_by and agg expressions. No index headaches.
Filtering & Slicing
Select subsets of data with filter expressions, column selection, and slicing.
Sorting
Order data by columns, handle nulls, and find top/bottom values with top_k and bottom_k.
Joining
Combine datasets with inner, left, full, anti, and semi joins. Native anti/semi support.
Creating Columns
Derive new columns with expressions, conditional logic, binning, and one-hot encoding.
Creating Graphs
Visualise patterns and trends using matplotlib with Polars DataFrames.
How to Use These Tutorials
- Start with Pillar 1 (Grouping) — it introduces the dataset and core patterns
- Work through Pillars 2–5 — each builds on the same fundamentals
- Finish with Pillar 6 (Graphs) — bring your analysis to life visually
Each tutorial uses the same Australian petrol station dataset so concepts build naturally. By the end, you'll have the skills to tackle real data analytics problems with confidence.
Every tutorial runs in the browser using Pyodide. You write real Python with real Polars — the same code works if you paste it into Jupyter, VS Code, or any Python environment.
What You'll Learn
group_by(),agg()— aggregate data by category with clean expression syntaxfilter(),select(),slice()— filter and slice DataFramessort(),top_k(),bottom_k()— order data and find extremesjoin()with inner, left, full, anti, and semi joinswith_columns(),pl.when().then().otherwise(),cut()— create and transform columnsmatplotlibandseaborn— visualise your Polars data
Same Skills, Other Languages
The MVA 6 pillars apply to every data tool. If you prefer a different language, we have the same tutorials for:
Ready to start?
Begin with the first pillar — grouping and aggregation with Polars.
Start Pillar 1: Grouping →