Skip to main content

Days over 35 °C

Interesting to see how many days are over 35 C. It seems that between 1995 and 2020 we got more days over 35C than before.

days_over_35.png

And here is the code:

import matplotlib.pyplot as plt
import pandas as pd
import matplotlib.ticker as ticker

df_max = pd.read_csv('tmax.csv')
#df_min = pd.read_csv('tmin.csv')

# Assuming df is your DataFrame
df = df_max.reset_index()

# Convert 'Date' column to datetime
df['Date'] = pd.to_datetime(df['Date'], dayfirst=True)

# Calculate number of days over 35°C temperature every year
df_over_35 = df[df['t_max'] > 35]
df_over_35_year = df_over_35.groupby(df_over_35['Date'].dt.year)['t_max'].count().reset_index()

# Rename columns
df_over_35_year.columns = ['Year', 'Number of Days Over 35°C']

# Calculate average
average = df_over_35_year['Number of Days Over 35°C'].mean()

# Plotting
plt.figure(figsize=(16,6))
plt.plot(df_over_35_year['Year'], df_over_35_year['Number of Days Over 35°C'], color='red')
plt.xlabel('Year')
plt.ylabel('Number of Days Over 35°C')
plt.title('Number of Days Over 35°C every year')
plt.axhline(y=average, color='green', linestyle='--', label='Average')
plt.legend()
plt.gca().yaxis.set_major_locator(ticker.MultipleLocator(1))
#plt.grid(axis='y', linestyle='--', linewidth=0.5)
plt.xticks(range(df_over_35_year['Year'].min(), df_over_35_year['Year'].max()+1, 5))
plt.grid(axis='x', linestyle='--', linewidth=0.5)
plt.xticks(rotation=45)
plt.show()