AI in Medicine — Summer Course 2026

Python for
Data Science

A hands-on workshop for biomedical professionals —
from zero to real data analysis in 3 hours

27 July 2026 1400–1715 Google Colab
🧑‍💻
Your Instructor

Koay Hong Vin

Education
B.Eng. Electrical Engineering
PhD in Artificial Intelligence — Autonomous Vehicles
Current
Risk Modelling and Data Scientist
Ant International
01 / Agenda

What We'll Cover Today

01
Quick Start & Python Refresher
~15 min
02
NumPy Essentials
~20 min
03
Pandas Fundamentals
~40 min
04
Data Visualization
~25 min
05
Mini Project: Malaysia Births
~50 min
06
Wrap-up & Next Steps
~10 min
02 / Context

Why Python for Biomedical Data?

  • Free & Open Source — no license fees, unlike SAS or SPSS. Anyone can use it, anywhere.
  • Reproducible Research — scripted analysis that anyone can re-run. No more "which Excel cell did I click?"
  • Handles Real Data — Excel chokes on 1M rows. Pandas handles 100M+ rows and files like CSV, Excel, Parquet, SQL.
  • Rich Ecosystem — stats (SciPy), ML (scikit-learn), bioinformatics (Biopython), imaging (scikit-image). All in one language.
  • Industry Standard — used in NIH, Oxford, Nature-published research, and every major pharma company.
03 / NumPy

NumPy — The Foundation

  • Arrays — fast, vectorized containers for numerical data. Think Excel column, but in memory.
  • No Loops Needed — operations apply to entire arrays at once. 10,000 patient readings? One line.
  • Built-in Stats — mean, median, std, percentiles. Critical for lab values, vitals, clinical measurements.
import numpy as np

# 10,000 glucose readings
glucose = np.array([5.2, 4.8, 6.1, ...])

# Stats in one line each
glucose.mean() # average
glucose.std() # variability
np.percentile(glucose, 95)
04 / Pandas

Pandas — DataFrames

  • DataFrame — 2D table with named columns. The central object in data analysis.
  • Read Anything — CSV, Excel, Parquet, SQL, JSON. Load from file or URL.
  • Filter & Group — SQL-like operations: filter rows, group by categories, aggregate.
  • Handle Dates — datetime parsing, extract year/month/day, time-series analysis.
import pandas as pd

# Load directly from web
df = pd.read_csv('url_to_data')

df.head() # first rows
df.describe() # summary stats
df.groupby('year')['births'].sum()
05 / Visualization

Matplotlib & Seaborn

📈
Line Plots
Trends over time. Births per year, disease incidence, lab values over treatment course.
📊
Bar Charts
Compare categories. Births by month, drug efficacy by group, demographics.
📦
Box Plots
Show distributions. Compare decades, treatment arms, identify outliers.
📉
Histograms
Frequency distributions. Daily birth counts, patient ages, biomarker levels.
06 / Dataset

Our Data: Malaysia Daily Live Births

  • Source — National Registration Department (JPN), via data.gov.my
  • Time Range — 1920 to 2023 (~38,000 rows)
  • Columns — date, state, births (3 columns, clean data)
  • Why Biomedical? — Birth demography underpins public health planning, maternal health policy, hospital staffing.
  • License — CC BY 4.0 (free to use, share, adapt)
👶
07 / Setup

How We'll Work

🌐
Google Colab
No installation needed. Python, NumPy, Pandas, Matplotlib, and Seaborn all pre-installed. Runs in your browser.
⌨️
Code-Along
I'll type, you follow. Every line of code runs and produces output immediately. You'll leave with a working notebook.
✏️
Exercises
Short exercises after each section. Try it yourself, then we'll review together. No grades — just learning.
💬
Ask Anytime
Questions encouraged throughout. If something doesn't make sense, it probably doesn't make sense to others too.
08 / Recap

The Big Picture

NumPy
Fast arrays & numerical computing
Pandas
Data manipulation & analysis
Plots
Matplotlib & Seaborn for visualization
"Together, these three form the complete data analysis pipeline — from raw numbers to publication-ready figures."
🚀

Let's Begin!

Open your notebook. Let's write some Python.

1 / 11