Beginner9 columnsUp to 5,840 rows Fictional data

Daily City Weather dataset

Simulated daily temperature, rain, humidity and AQI for Indian cities, with monsoon and winter smog seasons.

Made the moment you click and sent straight to you. Nothing is saved on our server.

About this dataset

Simulated daily weather for up to eight Indian cities from April 2024 to March 2026: minimum and maximum temperature, humidity, rainfall, wind speed, air quality index (AQI) and a one-word condition.

The numbers are generated, not measured, so do not use them for real decisions. They are built to behave like Indian weather, though: hot summers in the north, a mild Bengaluru, monsoon months in the right places and smog in Delhi's winter. That makes the file well suited to practising date handling, resampling and charts.

Good for practising: Time series, Matplotlib, Seasonality, Resampling.

What's built into the data

The rows are random, but they follow rules, so there is something real to find. These are the patterns to look for:

  • Delhi and Jaipur swing from cold winters to very hot May–June peaks; Mumbai, Kochi and Bengaluru stay much steadier.
  • Most rain falls in each city's monsoon months: June to September in most places, October to December in Chennai.
  • Rainy days are cooler and more humid, and they bring the AQI down.
  • AQI rises sharply from November to January, most of all in Delhi.

Columns

ColumnTypeDescription
dateDateDay of the reading.
cityCategoryCity.
conditionCategoryClear, Partly cloudy, Cloudy, Haze, Light rain, Rain or Heavy rain.
min_temp_cDecimalMinimum temperature, °C.
max_temp_cDecimalMaximum temperature, °C.
humidity_pctWhole numberRelative humidity, percent.
rainfall_mmDecimalRain in millimetres.
wind_kmphDecimalAverage wind speed, km/h.
aqiWhole numberAir quality index (higher is worse).

Preview: the first 8 rows

A sample with seed 2026. Your download will have different values but the same columns and patterns.

datecityconditionmin_temp_cmax_temp_chumidity_pctrainfall_mmwind_kmphaqi
2024-04-01DelhiClear24.235.2350.06.9131
2024-04-01MumbaiPartly cloudy27.231.9690.03.794
2024-04-01ChennaiPartly cloudy29.135.7730.09.050
2024-04-02DelhiCloudy24.135.1530.08.1180
2024-04-02MumbaiClear26.534.1670.017.682
2024-04-02ChennaiClear25.434.7720.016.057
2024-04-03DelhiPartly cloudy25.436.4210.02138
2024-04-03MumbaiClear29.233.2800.012.860

Practice exercises

  1. Resample to monthly averages and draw one line per city for max temperature.
  2. Total the rainfall per city per month. Does each city's wettest month match its monsoon?
  3. Count 'poor air' days (AQI above 200) per city per month and show them as a heatmap.
  4. Compare average AQI on rainy and dry days with a box plot.
  5. Find the longest run of consecutive dry days in each city.

Stuck on one? Each exercise uses ideas from the lessons below, and trying it with the messy option on turns it into a cleaning exercise as well.

Load it straight into Python

You don't have to download first. Pandas can read the link directly, in Jupyter, Google Colab or a script. Keep the seed so you get the same data every time you run the notebook:

import pandas as pd

url = "https://beeprotonai.info/resources/datasets/city-weather/download/?rows=1000&seed=42"
df = pd.read_csv(url, parse_dates=["date"])
df.head()

For SQL practice, download the SQL format and run it against an empty database, for example sqlite3 practice.db < city-weather-1000-rows-seed42.sql or mysql -u root -p practice < city-weather-1000-rows-seed42.sql (use your file's name). It creates a table called city_weather and fills it.

About the data

Everything in this file is invented. Names are random pairings of common first names and surnames, email addresses use example.com (reserved for examples, so it can never reach anyone), and phone numbers start with +91 00, which no real Indian mobile number does. Any resemblance to a real person or business is coincidence. Dates run from 1 April 2024 to 31 March 2026 unless a column says otherwise. Use it freely for learning, teaching and projects, including commercial ones, with no attribution required (CC0).

Lessons that go with it

More datasets

See all 14 datasets →