The hospital's quality team asks: what do our data say about 30-day readmissions among diabetic patients, and how much should we trust those numbers? Produce a one-page findings brief (your own words, in a markdown cell or a separate .md file) backed by a notebook you wrote, containing at least three charts and one probability statement with a sampling caveat.
A starter notebook (project-starter.ipynb) with the load-and-recode cell already written, a pinned environment, and a column glossary. Everything after loading is yours — this scaffolds the tool, not the problem.
Each checkpoint is one observable artifact you build yourself. Checking all six flips this module's mastery to "project complete" in the tracker. No auto-grading — you mark it once the artifact exists.
A cleaned visit-level frame and a patient-level frame, with a two-sentence note on how ?, None, and repeat patients were handled — and why.
A solid version: uses na_values=["?"], keep_default_na=False so the literal word 'None' in A1Cresult/max_glu_serum survives as 'not measured' rather than becoming NaN; builds the patient-level frame via drop_duplicates(subset="patient_nbr", keep="first") after sorting by encounter_id; the two sentences name the actual tradeoff (e.g. "weight is dropped as a feature, kept as a flag").
A table of mean, median, std, Q1/Q3 for three numeric columns of your choosing, with one sentence per column on what the mean-vs-median gap says.
A solid version: picks columns with genuinely different shapes (e.g. one skewed, one symmetric); states ddof explicitly rather than mixing pandas and numpy defaults silently; the one-sentence read connects the gap size to skew direction, not just restates the numbers.
One histogram (binwidth stated), one box plot split by readmitted, one scatter — each with a one-line reading (spread / skew / outliers / relationship).
A solid version: states the binwidth used and why; the box plot's reading names an actual outlier count or group, not just 'there are outliers'; the scatter is sampled and uses alpha to avoid overplotting, and the reading says whether a relationship is visible or not, honestly.
P(readmitted < 30) overall and conditioned on one variable of your choosing, computed from frequencies, plus an expected-value statement for one column tied to its PMF.
A solid version: the conditional probability uses a variable with a real story behind the split (like A1C testing status); the expected-value statement explicitly ties E[X] back to the column's own mean, showing the connection rather than treating them as two separate facts.
A figure showing how the readmission rate varies across random samples of a stated size, and one sentence on what sample size the hospital would need.
A solid version: runs enough repeated samples (100+) for the spread to be visible and stable; states an actual sample-size recommendation grounded in the std of sample means shrinking, not a guess.
≤1 page, plain language, no code, with the one thing you'd tell the quality team first.
A solid version: leads with the single most decision-relevant finding, not a summary of every step taken; explicitly caveats the finding's uncertainty (referencing the sampling-wobble result); avoids jargon — a non-technical hospital administrator should be able to read it start to finish.
Re-run checkpoints 1–3 on a dataset of your own choosing, or on OWID CO2 data (unverified by this module's research — you'll be discovering its messiness cold, which is the point).