Capstone project analyzing Air Quality Patterns in African Cities. API: OpenAQ API
# Air Quality Patterns in African Cities
Data Analytics and Visualization Capstone (Group 5)
## Project Context
UNEP commissioned this analysis to investigate air quality patterns across selected African cities and support evidence-based intervention planning.
- Client: United Nations Environment Programme (UNEP)
- API: OpenAQ v3
- Cities: Nairobi, Kampala, Kigali, Addis Ababa, Johannesburg, Lagos
- Study window: 2021 to present (most recent 3 to 5 years)
## Repository Structure
```text
air-quality-analysis-capstone/
├── dashboard/
│ ├── air_quality_dashboard.pbix
│ └── air_quality_dashboard.pdf
├── data/
│ ├── raw/
│ ├── cleaned/
│ └── visualizaion/
├── notebooks/
│ ├── analysis.ipynb
│ └── Phase1_API_Documentation.md
├── scripts/
│ ├── phase1_step1_locations.py
│ ├── phase1_step2_extract_sensors.py
│ ├── phase1_step3_measurements.py
│ └── pollutant_frequency.py
├── slides/
│ └── air_quality_capstone_deck.pptx
└── README.md
```
## Project Expectations Coverage
1. API retrieval and documentation
- Implemented in `scripts/phase1_step1_locations.py`, `scripts/phase1_step3_measurements.py`
- Documented in `notebooks/Phase1_API_Documentation.md` and Notebook Section 1
2. Data quality assessment (missingness, duplicates, outliers, completeness, consistency)
- Implemented in Notebook Section 3 (`notebooks/analysis.ipynb`)
3. Data cleaning and preparation decisions
- Implemented and explained in Notebook Section 4
- Output: `data/cleaned/air_quality_master.csv`
4. EDA + at least three statistical techniques
- Implemented in Notebook Section 5
- Includes statistical analysis supporting all six research questions
5. At least five meaningful visualizations with justification
- Implemented in Notebook Section 6
- Exported charts in `data/visualizaion/` (6 PNG charts)
6. Interactive dashboard (KPIs, interactive charts, filters, map, executive summary, drill-down where possible)
- Delivered in `dashboard/air_quality_dashboard.pbix`
7. Evidence-bas …