Python Data Science Handbook: a free O'Reilly ebook
Python Data Science Handbook is a genuinely free, complete data science course in notebook form, not a teaser chapter behind a paywall. It earns the recommendation because every section pairs explanation with runnable code, so changing a parameter and rerunning a cell replaces guessing. It stops at classic Scikit-Learn workflows, not deep learning. Read it end to end or dip into one chapter at a time.
What is the Python Data Science Handbook
Python Data Science Handbook is the free Jupyter notebook edition of Jake VanderPlas's O'Reilly book, covering IPython, NumPy, Pandas, Matplotlib, and Scikit-Learn end to end. The GitHub repo holds the full text as executable notebooks, readable online or run directly in Google Colab or Binder without installing anything locally.
What makes this book different
- โThe book is organized one library at a time โ IPython, then NumPy, Pandas, Matplotlib, and Scikit-Learn โ so each part stands on its own if you only need one topic.
- โProse and runnable code sit in the same notebook cells, not in separate code blocks you have to copy out, so you can change a value and rerun it immediately.
- โThe full text is free online, not a sample chapter; a printed edition is sold separately through O'Reilly Media for readers who want a physical copy.
- โNotebooks open directly in Google Colab or launch through Binder, so you can follow along without installing Python locally.
- โA companion project, A Whirlwind Tour of Python, covers the Python language itself for readers who start the Handbook without that background.
- โIndex.ipynb lists every notebook in one place, which works as both a table of contents and a map of exactly what the book covers.
Strengths
- โFree and complete โ the whole book is here, not a sample chapter funneling you toward a purchase.
- โEvery explanation sits next to runnable code in the same notebook, so you test an idea instead of just reading about it.
- โCovers the standard data science stack (IPython, NumPy, Pandas, Matplotlib, Scikit-Learn) in one place instead of five separate tutorials.
- โMultiple ways to run it: read online, open in Colab, launch via Binder, or clone the notebooks locally.
What the book doesn't cover
- โณThe code and prose were written and tested against Python 3.5; the README says other versions, including Python 2.7, 'should work in nearly all cases' โ not a guarantee for current Python 3.9+ environments.
- โณIt stops at classical machine learning with Scikit-Learn โ no deep learning frameworks, no PyTorch or TensorFlow content.
- โณThe text itself is licensed CC-BY-NC-ND, so you can read and share it but not modify or republish it commercially; only the code samples are MIT-licensed.
- โณNo exercises or graded assignments โ it reads like a reference/tutorial hybrid, not a structured course with checkpoints.
Similar free resources
Frequently asked questions
The Python Data Science Handbook is free to read in full online, as Jupyter notebooks; the README also links a printed edition sold separately through O'Reilly Media for readers who want a physical copy.
The Python Data Science Handbook covers IPython, NumPy, Pandas, Matplotlib, and Scikit-Learn as its core libraries, walking through each one in its own section before combining them in worked data analysis examples.
The Python Data Science Handbook assumes you already know the Python language; it doesn't teach basic syntax. If you're new to Python itself, the author's companion project, A Whirlwind Tour of Python, covers that ground first.
The GitHub repository holds the book's entire content as executable Jupyter notebooks โ the same text as the printed and online editions, but you can run, edit, and rerun every code cell instead of just reading static pages.
Probably โ the Python Data Science Handbook was written and tested against Python 3.5, and the README states other versions should work in nearly all cases, but it doesn't specifically confirm testing against 3.9 or 3.10.
Its main edge over most competitors is price and format: the full text is free and delivered as runnable notebooks rather than static pages, so you execute the same code the author used instead of retyping examples from a printed page.
Best use cases
- โขLearning NumPy array broadcasting and Pandas DataFrame operations from worked examples instead of dry API docs.
- โขFollowing along in Google Colab during a self-paced study session with zero local environment setup.
- โขUsing Index.ipynb as a lookup reference when you already know some data science and just need the Matplotlib or Scikit-Learn syntax for a specific plot or model.
- โขReading A Whirlwind Tour of Python first if you're comfortable programming generally but new to Python specifically.
Who should try it โ and who should skip
Anyone comfortable writing basic Python who wants a single, free reference for the NumPy/Pandas/Matplotlib/Scikit-Learn stack should start here โ it's built for that reader, per the README's own assumption of Python familiarity. Skip it if you don't know Python yet (read A Whirlwind Tour of Python first) or if you're after deep learning: the Handbook stops at classical Scikit-Learn and won't touch PyTorch or TensorFlow.
Related repositories
Still deciding about PythonDataScienceHandbook?
One click hands the question to an AI along with this page โ see what it says about PythonDataScienceHandbook.
