lifelines

0.30.3 · active · verified Fri Apr 10

lifelines is a comprehensive Python library for survival analysis, offering implementations of various models including Kaplan-Meier, Nelson-Aalen, and Cox proportional hazards regression. It is actively maintained with regular releases, providing tools for handling right, left, and interval censored data, and includes internal plotting methods for easy visualization. The current version is 0.30.3.

Warnings

Install

Imports

Quickstart

This quickstart demonstrates fitting a Kaplan-Meier survival model and a Cox Proportional Hazards regression model. It generates synthetic duration and event data, then visualizes the Kaplan-Meier survival curve and prints a summary for the Cox model.

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from lifelines import KaplanMeierFitter, CoxPHFitter

# --- Kaplan-Meier Fitter Example ---
np.random.seed(42)
num_samples = 100
T = np.random.exponential(scale=10, size=num_samples) # Durations
E = np.random.binomial(n=1, p=0.7, size=num_samples)  # Events (0=censored, 1=event)

kmf = KaplanMeierFitter()
kmf.fit(T, event_observed=E, label="Sample Survival Function")

print("Kaplan-Meier Survival Function (first 5 rows):\n", kmf.survival_function_.head())
kmf.plot_survival_function()
plt.title("Kaplan-Meier Survival Estimate")
plt.xlabel("Time")
plt.ylabel("Survival Probability")
plt.grid(True)
plt.show()

# --- Cox Proportional Hazards Fitter Example ---
data = pd.DataFrame({
    'T': T, # Duration
    'E': E, # Event observed
    'age': np.random.randint(20, 70, num_samples),
    'sex': np.random.choice(, num_samples, p=[0.55, 0.45])
})

cph = CoxPHFitter()
cph.fit(data, duration_col='T', event_col='E', formula="age + sex")

print("\nCoxPHFitter Summary:\n")
cph.print_summary()

view raw JSON →