Winning margin, log scale
How close was the race?
Loading 122 years of results…
Gap between the winner and the runner-up, every edition decided on time. Hover a point for the story.
10,000+ careers
Look up a rider
Every finisher in the dataset, from Maurice Garin to Pauline Ferrand-Prévot. Type a name.
Final rank by year
Field size
The peloton, counted
Riders classified per edition. Twenty-one pioneers finished in 1903; modern Tours classify around 150. The gaps are the wars.
Loading…
All-time leaderboard
Stage hunters
Most stage wins across all editions.
Loading…
Four files, no API key
Get the data
import pandas as pd
base = "https://raw.githubusercontent.com/thomascamminady/LeTourDataSet/master/data"
men_riders = pd.read_csv(f"{base}/men/TDF_Riders_History.csv")
men_stages = pd.read_csv(f"{base}/men/TDF_Stages_History.csv")
women_riders = pd.read_csv(f"{base}/women/TDFF_Riders_History.csv")
women_stages = pd.read_csv(f"{base}/women/TDFF_Stages_History.csv")
library(readr)
base <- "https://raw.githubusercontent.com/thomascamminady/LeTourDataSet/master/data"
men_riders <- read_csv(paste0(base, "/men/TDF_Riders_History.csv"))
men_stages <- read_csv(paste0(base, "/men/TDF_Stages_History.csv"))
women_riders <- read_csv(paste0(base, "/women/TDFF_Riders_History.csv"))
women_stages <- read_csv(paste0(base, "/women/TDFF_Stages_History.csv"))
# grab everything
base=https://raw.githubusercontent.com/thomascamminady/LeTourDataSet/master/data
curl -O $base/men/TDF_Riders_History.csv \
-O $base/men/TDF_Stages_History.csv \
-O $base/women/TDFF_Riders_History.csv \
-O $base/women/TDFF_Stages_History.csv