End-to-end EDA project on the FiveThirtyEight Bad Drivers dataset | Analyzing fatal collision patterns across U.S. states using Python, Pandas, Matplotlib & Seaborn
A structured EDA project on the Bad Drivers dataset from FiveThirtyEight, completed as part of the Python for Data Analysis course.
Explore fatal collision patterns across U.S. states and uncover key relationships between speeding, alcohol impairment, insurance premiums, and accident rates.
- Source: FiveThirtyEight — bad-drivers.csv
- Records: 51 U.S. states
- Features: fatal_collisions, pct_speeding, pct_alcohol, pct_not_distracted, pct_no_prev_accidents, insurance_premium, insurance_losses
| Library | Purpose |
|---|---|
| Pandas | Data loading, cleaning, and exploration |
| NumPy | Numerical operations |
| Matplotlib | Base plotting |
| Seaborn | Statistical visualizations |
- Imports & Setup
- Load Dataset
- Rename Columns
- First Look (head / tail)
- Data Structure & Info
- Missing Values Check
- Descriptive Statistics
- Feature Engineering — Speed Level
- Univariate Analysis — Numerical
- Univariate Analysis — Categorical
- Bivariate Analysis — Numerical vs Numerical
- Bivariate Analysis — Numerical vs Categorical
- Multivariate Analysis
- Correlation Heatmap
- Pairplot
- Key Insights
- Speeding alone is not the strongest predictor of fatal collisions — alcohol impairment shows a clearer impact
- North Dakota and South Carolina are clear outliers with the highest fatal collision rates
- Insurance premiums don't always reflect actual collision rates — pricing involves more complex factors
- Fatal collision distribution is right-skewed — most states fall between 10–20 collisions per billion miles
- Medium-speed states show the highest variance in collision rates
git clone https://github.com/ammarelsayed-2a/Project-2-Python-For-Data-Analysis-BadDrivers.git
cd Project 2 Python-For-Data-Analysis-BadDrivers
jupyter notebook "Project 2 BadDrivers.ipynb"Ammar Elsayed — Python for Data Analysis | 2026
LinkedIn