Logo Lanfrica
  • Home
  • Atlas
  • Insights
  • Docs
  • Sign in

© 2026 Lanfrica. All rights reserved. All copyrights of the resources shown on the Lanfrica website belong to the original copyright holders, unless explicitly stated otherwise.

elizabethnjihia/Kenya-health-care-facilities-analysis

Domain:

healthcaregeospatial

Record type:

datasetproject
Creator:
eli
Host:
# 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 …

Visit

github.com

Languages

DawidaTaveta