
Lifelines
- 10 installs
- 3.2k repo stars
- Updated August 4, 2026
- brycewang-stanford/auto-empirical-research-skills
lifelines is a skill that guides survival analysis of right-censored time-to-event data in Python using Kaplan-Meier curves, Cox regression, and log-rank tests.
About
This skill wraps the Python lifelines library for survival analysis of time-to-event data. It guides a developer through Kaplan-Meier curves, Cox proportional hazards regression, and log-rank tests while properly accounting for right-censored observations. A researcher uses it when analyzing clinical trial data, comparing survival between treatment groups, or identifying risk factors for prognosis.
- Survival analysis in Python: Kaplan-Meier, Cox regression, log-rank tests
- Handles right-censored time-to-event data
- Includes DO/DON'T rules for censoring and proportional-hazards checks
Lifelines by the numbers
- 10 all-time installs (skills.sh)
- Ranked #1,561 of 2,064 Data Science & ML skills by installs in the Skillselion catalog
- Data as of Aug 5, 2026 (Skillselion catalog sync)
lifelines capabilities & compatibility
- Capabilities
- survival analysis · cox regression · kaplan meier · data analysis
- Use cases
- data analysis · research
- Pricing
- Free
What lifelines says it does
Complete survival analysis library in Python. Handles right-censored data, Kaplan-Meier curves, and Cox regression. Standard for clinical trial analysis and epidemiology.
In Cox regression, a hazard ratio > 1 means increased risk; < 1 means decreased risk.
Kaplan-Meier estimates the probability of survival over time without assuming a distribution.
npx skills add https://github.com/brycewang-stanford/auto-empirical-research-skills --skill lifelinesAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 10 |
|---|---|
| repo stars | ★ 3.2k |
| Last updated | August 4, 2026 |
| Repository | brycewang-stanford/auto-empirical-research-skills ↗ |
What it does
Analyze right-censored time-to-event data with Kaplan-Meier curves and Cox regression to compare survival across groups and find risk factors.
Who is it for?
Clinical-trial, epidemiology, and prognosis analysis where subjects may leave the study before the event.
Skip if: Time-series forecasting or standard regression on fully observed outcomes.
When should I use this skill?
Analyzing clinical trial data, comparing survival between treatment groups, or identifying risk factors with Cox regression.
What you get
Produces survival curves, hazard ratios, and statistically tested group comparisons.
By the numbers
- 3 core methods covered: Kaplan-Meier, Cox PH, log-rank
Files
Lifelines - Survival Analysis
In medicine, we often care about "Time to Event" (death, recovery, relapse). Lifelines handles the complexity of "censored" data (patients who left the study).
When to Use
- Analyzing clinical trial data (time to death, disease progression).
- Comparing survival between treatment groups.
- Identifying risk factors using Cox Proportional Hazards regression.
- Building survival models for prognosis.
- Epidemiology studies (time to infection, recovery).
Core Principles
Censoring
Patients who haven't experienced the event by the end of the study are "censored". Lifelines properly accounts for this.
Hazard Ratios
In Cox regression, a hazard ratio > 1 means increased risk; < 1 means decreased risk.
Survival Curves
Kaplan-Meier estimates the probability of survival over time without assuming a distribution.
Quick Reference
Standard Imports
from lifelines import KaplanMeierFitter, CoxPHFitter
from lifelines.statistics import logrank_test
import pandas as pdBasic Patterns
# 1. Kaplan-Meier (Visualizing survival)
kmf = KaplanMeierFitter()
kmf.fit(durations=df['days'], event_observed=df['died'])
kmf.plot_survival_function()
kmf.median_survival_time_ # Time when 50% have died
# 2. Cox Proportional Hazards (Risk factors)
cph = CoxPHFitter()
cph.fit(df, duration_col='days', event_col='died')
cph.print_summary() # See hazard ratios for age, drug type, etc.
cph.plot_partial_effects_on_outcome(covariates=['age'], values=[30, 50, 70])Critical Rules
✅ DO
- Use event_observed correctly - 1 = event occurred, 0 = censored.
- Check proportional hazards assumption - Use
cph.check_assumptions()to validate Cox model. - Compare groups with logrank test - Statistical test for survival curve differences.
- Plot confidence intervals - Survival estimates have uncertainty, especially with small samples.
❌ DON'T
- Don't ignore censoring - Treating censored patients as "survived" biases results.
- Don't use regular regression - Time-to-event data requires specialized methods.
- Don't assume proportional hazards - If violated, use stratified Cox or parametric models.
Advanced Patterns
Comparing Multiple Groups
from lifelines.statistics import multivariate_logrank_test
# Compare survival across treatment groups
results = multivariate_logrank_test(df['days'], df['group'], df['died'])
print(results.p_value)Parametric Models
from lifelines import WeibullFitter, ExponentialFitter
# When you need to extrapolate beyond observed data
wf = WeibullFitter()
wf.fit(df['days'], df['died'])
wf.plot()Lifelines transforms complex survival data into actionable medical insights, enabling evidence-based decisions in clinical research and practice.
Related skills
FAQ
What does a hazard ratio above 1 mean?
In Cox regression, a hazard ratio greater than 1 means increased risk and less than 1 means decreased risk.
How does lifelines handle patients who left the study?
It treats them as censored, using event_observed=0 so their partial follow-up is accounted for without bias.