# Kenya Healthcare Facilities Analysis
## Overview
An end-to-end data science project analyzing the distribution and accessibility of **10,013 healthcare facilities** across **Kenya's 47 counties** using data from the Ministry of Health and the 2019 Kenya Census.
## Live Dashboard
Click here to view the live dashboard
## Project Structure
Kenya-health-care-facilities-analysis/
├── dashboard.py
├── analysis.ipynb
├── kenya_healthcare_engineered.csv
├── county_summary.csv
├── requirements.txt
├── README.md
└── .gitignore
## Project Workflow
### Step 1 - Data Loading and Exploration
- Loaded the Kenya Ministry of Health healthcare facilities dataset containing **10,013 facilities** and **13 columns**
- Used `encoding='latin1'` to handle special characters in Kenyan place names
- Confirmed **zero null values** and **zero duplicate records** across all columns
- Explored the dataset using `df.info()`, `df.describe()`, `df.head()` and `value_counts()`
---
### Step 2 - Exploratory Data Analysis (EDA)
- Analyzed facility distribution across all **47 counties**
- **Nairobi** leads with 883 facilities, **Lamu** has the least with 46
- Identified **26 unique facility types** — Dispensaries are the most common with 4,608 facilities
- Analyzed ownership — Ministry of Health owns **4,534 facilities (45%)**
- Explored geographic spread using Latitude and Longitude columns
---
### Step 3 - Feature Engineering
- Loaded the **2019 Kenya Census** population dataset (47 counties, 5 columns)
- Cleaned the Total population column by removing commas and converting to integer
- Removed the national total row keeping only the 47 county rows
- Fixed a county name mismatch — population CSV had `Taita/Taveta` while facilities CSV had `Taita Taveta` — resolved using `str.replace()`
- Merged the two datasets on the `County` column using a **left join**
- Created the following new features:
| Feature | Description |
|---|---|
| Facilities_Per_County | Total facilities in each coun …