Advanced Data Analysis Using Python
Combine sources, follow a trend, test a difference honestly and model an outcome, on routine health data.
What you will learn
- Choose between an inner, left, right and outer join for a given question.
- Join a facility export to a population projection and check the result by row count.
- Resample a table to weekly, monthly or quarterly totals with the correct date handling.
- Smooth a noisy series with a rolling mean and say what the smoothing hides.
- Explain what a confidence interval says and what it does not say.
- Choose the right comparison for two proportions, two means or paired measurements.
- State when a regression model answers a question that a simple comparison cannot.
- Fit a linear regression in statsmodels and read the coefficients and intervals.
- Structure an analysis project so that it reruns from raw data to report in one command.
- Turn repeated code into functions and test them on a small example.
Syllabus
5 modules, each with a knowledge check🔗1. Combining and reshaping dataTwo files become one table, and the row count tells you whether the join did what you meant.4 lessons · 27 min
- 1.1 Two files, one question7 min
- 1.2 Keys that actually match7 min
- 1.3 Long and wide7 min
- 1.4 Building the analysis table6 min
Objectives. Choose between an inner, left, right and outer join for a given question. Join a facility export to a population projection and check the result by row count. Diagnose the two join failures, silent row loss and accidental multiplication. Reshape a table between long and wide form and say which one an analysis needs. Stack several monthly exports into one table without losing their source.
📉2. Trends, seasonality and surveillanceFollow a number through time without mistaking a season for a success or a reporting gap for an outbreak.4 lessons · 27 min
- 2.1 Dates that behave and periods that compare7 min
- 2.2 Smoothing without hiding7 min
- 2.3 Seasonality and the level7 min
- 2.4 Thresholds and alerts6 min
Objectives. Resample a table to weekly, monthly or quarterly totals with the correct date handling. Smooth a noisy series with a rolling mean and say what the smoothing hides. Separate a seasonal pattern from a genuine change in level. Build an alert threshold from historical data and state its rule. Distinguish a rise in cases from a rise in reporting before raising an alert.
🎯3. Inference done properlyEstimate first, test second, report the interval, and know the questions a test cannot answer.4 lessons · 27 min
- 3.1 What the interval says7 min
- 3.2 Choosing the comparison7 min
- 3.3 Three traps7 min
- 3.4 Writing the result6 min
Objectives. Explain what a confidence interval says and what it does not say. Choose the right comparison for two proportions, two means or paired measurements. Compute an estimate with its interval in Python and write the reporting sentence. Recognise when a difference is statistically significant and practically irrelevant. Avoid the three traps, multiple testing, testing a whole population and testing instead of thinking.
📐4. Modelling an outcomeOne outcome, several influences at once, and a coefficient you can explain to a clinician.4 lessons · 27 min
- 4.1 When a comparison is not enough7 min
- 4.2 Linear regression7 min
- 4.3 Logistic regression7 min
- 4.4 Reporting a model6 min
Objectives. State when a regression model answers a question that a simple comparison cannot. Fit a linear regression in statsmodels and read the coefficients and intervals. Fit a logistic regression for a binary outcome and convert coefficients to odds ratios. Explain confounding and adjust for it with a variable in the model. Run the four model checks and say what each one protects against.
📓5. Reproducible analysis and the capstoneA project a colleague can rerun, a report that writes itself from the data, and your own analysis plan.4 lessons · 27 min
- 5.1 A project that reruns7 min
- 5.2 A report that updates itself7 min
- 5.3 Handing it over6 min
- 5.4 Capstone, your analysis plan7 min
Objectives. Structure an analysis project so that it reruns from raw data to report in one command. Turn repeated code into functions and test them on a small example. Record the environment and the data version so results can be reproduced later. Protect patient confidentiality in shared code and outputs. Write a complete analysis plan for a question in your own service.
How it is taught
Narrated micro lessons
Every screen has recorded narration that adds context and examples from Ethiopian hospitals. Lessons are five to ten minutes and resume where you stopped, on any device.
Decisions, not slides
Branching scenarios, matching, ordering and short written tasks with immediate feedback and the reasoning, whichever way you answer.
Blended option
Five ninety minute laboratory sessions, one per module, each on the learner own dataset.
Tools for Monday
Printable ward cards, checklists and audit forms are linked from the modules and free to adapt.
Frequently asked
How long do I have?
There is no deadline. Most learners finish in one to three weeks of short sessions. Your progress is saved to your account.
Is there a cost?
No. Enrolment, the course, the certificate and the resources are free.
What if I fail the post-test?
You can retake it. The feedback after each item tells you which module to revisit.
Is the certificate recognised for licence renewal?
The certificate states the CEU value calculated at one CEU per hour of learning in line with the national CPD Guideline, with a verification number. Recognition for licence renewal depends on accreditation by the CPD accreditor, which ERAS Africa and the EAA are pursuing.
Can my hospital run it as a workshop?
Yes. Each module has a facilitated 90 minute session plan. Contact ERAS Africa through the website to arrange a cohort.