A comprehensive Python-based data analysis project that explores historical and real-time weather patterns in Tehran. Ideal for understanding climate trends, visualizing seasonal changes, and uncovering meaningful insights from meteorological data.
- Overview
- Objectives
- Dataset
- Tech Stack & Requirements
- Installation & Setup
- Analysis Workflow
- Insights & Visualizations
- Future Enhancements
- Contributing
- License
This project delves into Tehran’s weather data—such as temperature, humidity, precipitation, and wind speed—to explore historical trends, seasonal cycles, and extreme weather events. The goal is to translate raw data into scientific insights and visual stories.
- 📈 Track long-term trends (e.g., increasing temperatures or shifting rainfall patterns)
- 📉 Analyze seasonal cycles across months and years
- 🌪️ Identify extreme events, like heatwaves or heavy rain
- 🔍 Correlate multiple variables to understand interdependencies (e.g., temperature vs humidity)
- 🖼 Create visual storytelling dashboards that communicate findings intuitively
Data typically includes:
Date
– Timestamp (daily/hourly)Temperature
(max/min/avg)Humidity
,Precipitation
,WindSpeed
,Pressure
, etc.
(Adapt descriptions to match your actual dataset structure.)
- Python 3.7+
- Libraries:
pandas
,NumPy
– data manipulationmatplotlib
,seaborn
– static visualizations- Optional:
statsmodels
,SciPy
for trend modeling - Optional:
plotly
,Streamlit
for interactive dashboards
git clone https://github.com/MisaghMomeniB/Tehran-Weather-Analysis.git
cd Tehran-Weather-Analysis
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
- Data load & cleaning – handle missing values, convert types, extract date parts
- Exploratory analysis – visualize day-by-day, month-by-month, and year-by-year trends
- Statistical trend detection – apply moving averages and regression or seasonal decomposition
- Heatmap visualizations – e.g., month vs year grids for temperature or rainfall
- Correlation analysis – explore variable interactions using correlation matrices
- Line plots for daily, monthly, and annual temperature trends
- Boxplots of seasonal humidity or temperature variation
- Heatmaps showing seasonal patterns year-over-year
- Correlation matrices highlighting variable inter-dependencies
- Optionally,
reports/
directory contains charts (PNG/HTML) and summary tables
- 📆 Time‑series forecasting using ARIMA, Prophet, or LSTM for future weather prediction
- 🌐 Add real-time API integration (e.g., OpenWeatherMap)
- 🧭 Interactive dashboards using Plotly or Streamlit
- 🌍 Compare Tehran trends with other cities
- 📦 Package as a CLI tool or module for reusability
Contributions are welcome! Steps to collaborate:
- Fork this repo
- Create a feature branch (
feature/...
) - Add code, docs, or visualizations with clear comments
- Submit a Pull Request explaining your additions
Released under the MIT License — see LICENSE
for details.