Plot yearly average temperature

Here is the result, much cleaner and shows a small trend in temperature increase over 100 years by 2 degrees. 

 

 Here is the code to plot yearly average temperature: 

 import matplotlib.pyplot as plt

import pandas as pd

df_max = pd.read_csv('tmax.csv')

df_min = pd.read_csv('tmin.csv')

# Assuming df_max and df_min are your DataFrames

df_max = df_max.reset_index()

df_min = df_min.reset_index()

# Convert 'Date' column to datetime

df_max['Date'] = pd.to_datetime(df_max['Date'], dayfirst=True)

df_min['Date'] = pd.to_datetime(df_min['Date'], dayfirst=True)

# Calculate average temperature every year

df_max_year_avg = df_max.groupby(df_max['Date'].dt.year)['t_max'].mean().reset_index()

df_min_year_avg = df_min.groupby(df_min['Date'].dt.year)['t_min'].mean().reset_index()

# Rename columns

df_max_year_avg.columns = ['Year', 'Average Max Temperature']

df_min_year_avg.columns = ['Year', 'Average Min Temperature']

# Plotting

plt.figure(figsize=(16,6))

plt.plot(df_max_year_avg['Year'], df_max_year_avg['Average Max Temperature'], color='red', label='MaxTemp')

plt.plot(df_min_year_avg['Year'], df_min_year_avg['Average Min Temperature'], color='blue', label='MinTemp')

plt.legend()

plt.xlabel('Year')

plt.ylabel('Temperature, C')

plt.title('Average Temperature every year')

plt.xticks(rotation=45)

plt.show()