A Python-based weather data analysis and visualization project using Meteostat, featuring multiple South African cities, flood risk indicators, and forecasting.
# ๐ฆ๏ธ Python Weather Data Analysis & Forecasting
A Python-based weather data analysis and visualization project that retrieves historical weather data using the Meteostat API.
The application supports multiple South African cities, customizable date ranges, flood risk indicators, statistical analysis, and time-series forecasting.
---
## ๐ Project Overview
This project is an interactive command-line application that enables users to analyze historical weather data for selected locations in South Africa.
Users can choose the city, date range, indicators, data source, and visualization types, making the analysis flexible and user-driven.
The project is suitable for:
- Academic assignments
- Data analysis and visualization practice
---
## โจ Key Features
- ๐ Multi-city support
- Cape Town
- Johannesburg
- Durban
- Pretoria
- Port Elizabeth
- ๐ Custom start and end date selection
- ๐ก๏ธ Weather indicators:
- Average temperature
- Minimum temperature
- Precipitation
- Wind speed
- Atmospheric pressure
- ๐ง๏ธ Flood risk classification based on precipitation levels
- ๐ Visualization options:
- Line graphs (time series)
- Bar charts (statistical summaries)
- Pie charts (indicator contribution)
- Correlation heatmaps
- Monthly Top 5 histograms
- ๐ฎ ARIMA-based forecasting
- ๐งช Indicator comparison mode
- ๐พ Data export and reload support:
- CSV
- Excel
- JSON
- XML
- SQLite database
---
## ๐ ๏ธ Technologies Used
- Python
- Pandas
- Matplotlib
- Seaborn
- Meteostat API
- SQLite
- Statsmodels (ARIMA)
---
## ๐ฆ Installation
Make sure Python 3.x is installed, then install the required libraries:
```bash
pip install meteostat pandas matplotlib seaborn statsmodels openpyxl lxml