Learn Python for data science — NumPy, Pandas, Matplotlib
Structured Python data science path from intermediate level to real-world projects. Guided by Py — an AI tutor that tracks your exact concept mastery and adapts every explanation.
From 1,000+ Python learners
Python Data Science curriculum
Python Fundamentals Review
Variables, loops, functions, lists — make sure your foundations are solid before NumPy.
Introduction to NumPy
Arrays, vectorised operations, array indexing, and why NumPy is faster than Python lists.
Pandas DataFrames
Reading data, Series vs DataFrames, selecting rows/columns, filtering and sorting.
Data Cleaning
Handling missing values, duplicates, data types, outliers — the real 80% of data work.
Data Manipulation
Groupby operations, merging datasets, pivot tables, applying functions across DataFrames.
Matplotlib & Visualisation
Line charts, bar charts, scatter plots, histograms — communicating data visually.
Descriptive Statistics
Mean, median, variance, correlation — understanding your data before modelling it.
Real Data Science Project
End-to-end project: ingest a real dataset, clean it, analyse it, and present insights.
Frequently asked questions
Do I need Python experience before starting data science?
Yes — Python Fundamentals is a prerequisite. Start with Fundamentals (free), then upgrade to Pro for the Data Science path. Py will assess your readiness during onboarding.
What Python libraries does the data science path cover?
NumPy, Pandas, and Matplotlib. Statistical concepts are introduced throughout. Machine learning (Scikit-learn, TensorFlow) comes in the Advanced specialisations.
Is Python the best language for data science?
Yes — Python dominates data science and machine learning. It has the most mature library ecosystem and is used in the vast majority of data science job roles worldwide.
How is this different from a Pandas tutorial on YouTube?
Py knows which concepts you're finding difficult and adjusts accordingly. If DataFrames are confusing you, Py won't move on until you've got it. YouTube plays the same video regardless.