SeoulAir
Making messy Seoul air-quality data analysis-ready.
The problem
Seoul air-quality and weather come as scattered monthly exports with gaps and inconsistent timestamps — not something you can analyze directly.
What it does
Ingests monthly Seoul air-quality exports (PM10, PM2.5, O3, NO2, CO, SO2 by district) plus weather data, normalizes timestamps, fills gaps and merges everything into clean unified tables — then runs correlation analysis across pollutants and weather.
Stack
- Python
- pandas
- NumPy
- Matplotlib
- Jupyter
My role
- Data collection
- Cleaning & gap-filling
- Merging
- Correlation analysis
Highlights
Scattered → unified
Monthly per-district exports across two years, normalized and joined into one analysis-ready dataset.
Sensible signals
PM2.5 tracks CO and NO2 (combustion / traffic) and peaks in winter; ozone is anti-correlated with NO2 — the expected photochemistry.
Reproducible figures
A small script regenerates the charts from the cleaned sample CSV.