目录
1、下载近两年的天气Excel数据
一个免费的天气数据下载网址:METAR北京(机场)历史天气 (rp5.ru)
选择”北京天气“——”机场历史天气“——”下载历史天气“——选择时段——”选择到文件“——”下载“,即可将天气的excel的压缩包下载到本机。我们下载2023年和2024年的天气Excel数据。
2、pandas加载Excel
需要用到的包如下所示:
import pandas as pd
import time
import matplotlib.pyplot as plt
import numpy as np
import datetime
Pandas加载Excel数据
filepath1 = 'plt_graph_data\\23.xls'
filepath2 = 'plt_graph_data\\24.xls'
data1 = pd.read_excel(filepath1)
data2 = pd.read_excel(filepath2)
data_all = pd.concat([data1,data2])
print(data_all.head(2))
3、将时间作为索引
data_all['Time'] = pd.to_datetime(data_all['Time'],format='%d.%m.%Y %H:%M')
data_all.set_index('Time', inplace=True)#以时间为索引的时间序列值
data_all = data_all['Temperature']
print(data_all.head(2))
4、按日计算最值、均值
data_all = data_all.resample('24H').agg(func=['max','min','mean'])#上采样
print(data_all.head(2))
data_all.plot()
5、选取近两年同期温度数据
选择2024年6月至9月的数据:
t1 = datetime.datetime(year=2024,month=6,day=1,hour=0,minute=0,second=0)
t2 = datetime.datetime(year=2024,month=9,day=18,hour=23,minute=59,second=59)
data_this_year = data_all[(data_all.index >= t1) & (data_all.index <= t2)]#选取指定时段
data_this_year = data_this_year['max']
print(data_this_year.head(2))
data_this_year.plot()
选取2023年同期数据:
data_last_year = data_all[(data_all.index >= (t1 + pd.DateOffset(years=-1)))
& (data_all.index <= (t2 + pd.DateOffset(years=-1)))]#去年同期
data_last_year = data_last_year['max']
print(data_last_year.head(2))
data_last_year.plot()
6、同期温度曲线对比,共享y轴
figure,(ax1,ax2) = plt.subplots(1,2,dpi=600,sharex=False,sharey=True)
ax1.plot(data_last_year,linestyle='solid')
ax2.plot(data_this_year,linestyle='solid')
plt.setp(ax1.get_xticklabels(), rotation=90)
plt.setp(ax2.get_xticklabels(), rotation=90)
ax1.set_title('2023')
ax2.set_title('2024')
从对比数据来看,6月同期温度差不多,7月以后温度明显比去年高4、5度。今年实在是有点热。