Intro to Data Analysis with Python
Load, clean, reshape and explore real data with Python and pandas, then turn the results into clear findings.
Leads to: Data Analyst, Data Scientist, Machine Learning Engineer, Data Engineer, Biochemist, Biological Technician, Chemist, Materials Scientist, Statistician, Actuary, Operations Research Analyst
Before you start
This course builds on Python Fundamentals and Statistics Fundamentals. Take them first if you are new to the topic.
About this course
An intermediate course for anyone who already writes basic Python and knows descriptive statistics, and now wants to analyse real data: future data analysts, data scientists and ML engineers, statisticians, actuaries, operations research analysts, and lab scientists who need to handle their own results. You will learn when Python beats a spreadsheet, reshape records with comprehensions, run a notebook reproducibly, and then work in pandas: loading CSVs, cleaning types, missing values and duplicates, filtering and sorting, groupby summaries, safe merges and time series. The course ends with a small analysis project: turning a vague request into answerable questions, an exploratory data analysis checklist, and a one-page findings write-up. Every lesson has a reading, free videos, a quiz and a hands-on exercise; most exercises run Python with pandas right in the browser. Prerequisites: Python Fundamentals and Statistics Fundamentals.
Course content
Module 1
Python for Data People
3 lessons · 2h 31mWhy analysts use Python alongside spreadsheets, how to reshape records with lists, dictionaries and comprehensions, and how to run a notebook from top to bottom.
- 47mWhy Python for data?Reading
Compare Python with spreadsheets and learn when each is the right tool for an analysis.
- 42mLists, dicts, and comprehensionsReading
Reshape lists of records with list, dictionary and set comprehensions, and total values by group.
- 1h 2mNotebook warm-upReading
Run a Jupyter notebook end to end and learn to avoid hidden state with restart and run all.
Module 2
Pandas in Anger
4 lessons · 4h 29mLoad a CSV into a DataFrame, clean types, missing values and duplicates, select and sort rows, and prepare the numbers for one clear chart.
- 1h 12mLoading a CSVReading
Load a CSV into a pandas DataFrame and inspect its shape, columns, types and values before analysing it.
- 1h 29mCleaning messy dataReading
Fix text, types, missing values and duplicates with a rerunnable pandas cleaning function.
- 54mTell a story with one chartReading
Pick the chart that answers one question, prepare its numbers in pandas and give it a finding-style title.
- 54mFiltering and sortingReading
Select rows and columns with boolean masks, .loc, .iloc and isin, and order results with sort_values.
Module 3
Reshaping and Combining
3 lessons · 3h 10mSummarise data by group with groupby, join datasets with merge without losing or duplicating rows, and turn daily records into monthly time series.
- 1h 18mgroupby and aggregationReading
Summarise data by one or more groups with groupby, named aggregation, pivot tables and transform.
- 48mMerging DataFramesReading
Join two datasets on a key with merge, find unmatched rows and guard against duplicated rows.
- 1h 4mDates and time seriesReading
Parse dates, resample daily data to monthly totals and means, smooth with rolling windows and find weekday patterns.
Module 4
Analysis Project
3 lessons · 2h 45mRun a small analysis from start to finish: turn a vague request into answerable questions, explore the data with an EDA checklist, and write up the findings on one page.
- 28mAsking good questionsReading
Turn a vague analysis request into specific, answerable questions with defined measures and scope.
- 1h 31mExploratory analysisReading
Run an EDA checklist on a dataset: shape, types, missing values, duplicates, ranges, outliers and distributions.
- 46mWriting up findingsReading
Write a one-page findings summary that leads with the answer, backs it with numbers and states its limits.