Stage 1 of 7 · 8 lessons · ~3 months
Python for data
The language and the libraries every ML codebase leans on: core Python first, then NumPy arrays, pandas DataFrames and plotting, working in Jupyter notebooks.
Start: Core Python for data workLessons· one lesson for each topic, in this order
- 1Core Python for data workLesson
- 2Working in Jupyter notebooksLesson
- 3NumPy arrays, shapes and indexingLesson
- 4Vectorisation and broadcastingLesson
- 5pandas DataFrames: selecting, filtering and cleaningLesson
- 6groupby, merge and reshapingLesson
- 7Charts that make one clear pointLesson
- 8CSV, JSON and ParquetLesson
Start with· follow one of these
- CoursePaidGrokking Python Fundamentals
Design Gurus · Beginner · $50
Core Python with an exercise after nearly every lesson, before the data libraries
- BookFreePython for Data Analysis, 3rd Edition
Wes McKinney · Beginner
Free online: NumPy, pandas and plotting from pandas' own creator
Practise
Keep handy
Before moving on: Take a public CSV of at least 50,000 rows, answer five questions about it with pandas using no Python loops over rows, and produce three charts that each make one clear point.

Get comfortable with plain Python functions, lists and dictionaries before you touch pandas, or every pandas error will look like magic. Once you are in pandas, if you are writing a for loop over rows, stop and look for the vectorised way.