Meteostat 是一个用于气象和气候数据处理和分析的 Python 库,它提供了对全球气象数据的访问,可以用于历史气象数据的获取、处理和可视化
安装 Meteostat
通过 pip 安装 Meteostat:
定义需要查询地点的纬度和经度,如这里需要获取重庆气象数据,定义纬度和经度用于确定重庆市的具体位置【chongqing = (29.56301, 106.55156)】,从而查找该位置附近的气象站【利用nearby 方法查找重庆附近的气象站】,获取相应的气象数据【
fetch 方法从 Meteostat API 中获取气象站的信息,参数 5 表示获取 5 个最接近的气象站
2.2 获取每日气象数据
# 获取最近的气象站的ID station_id = nearby_stations.index[ 0 ] # 设置时间范围 start = datetime( 2021 , 1 , 1 ) end = datetime( 2021 , 12 , 31 ) # 获取每日数据 data = Daily(station_id, start, end) data = data.fetch() data.head()从找到的气象站中选择一个(通常选择第一个最接近的)来获取气象数据,当然读者也可以自行选择其它站点气象数据,然后构建一个需要获取数据的时间戳并保存为一个dataframe,以下为数据集各指标含义
2.3 获取每日气象数据
from meteostat import Hourly # 设置时间范围 start = datetime( 2021 , 1 , 1 ) end = datetime( 2021 , 2 , 1 ) # 获取每小时数据 df = Hourly(station_id, start, end) df = df.fetch() df.head() 获取每日气象数据,获取每日气象数据和每小时气象数据的主要区别在于时间粒度,获取每日气象数据通常使用 Daily 类,而获取每小时气象数据则使用 Hourly 类
2.4 每日气象数据可视化
plt.figure( figsize =( 15 , 10 ), dpi= 300 ) plt.subplot(4, 2, 1) plt.plot(data ['tavg'] , color = 'red' , label= '每日平均气温' ) plt.grid(True) plt.legend() plt.subplot(4, 2, 2) plt.plot(data ['tmin'] , color = 'blue' , label= '每日最低气温' ) plt.grid(True) plt.legend() plt.subplot(4, 2, 3) plt.plot(data ['tmax'] , color = 'green' , label= '每日最高气温' ) plt.grid(True) plt.legend() plt.subplot(4, 2, 4) plt.plot(data ['prcp'] , color = 'purple' , label= '每日降水量' ) plt.grid(True) plt.legend() plt.subplot(4, 2, 5) plt.plot(data ['wdir'] , color = 'orange' , label= '每日平均风向' ) plt.grid(True) plt.legend() plt.subplot(4, 2, 6) plt.plot(data ['wspd'] , color = 'cyan' , label= '每日平均风速' ) plt.grid(True) plt.legend() plt.subplot(4, 2, 7) plt.plot(data ['pres'] , color = 'magenta' , label= '每日平均气压' ) plt.grid(True) plt.legend() plt.tight_layout() plt.show()通过Meteostat库,我们能够方便地获取和分析全球范围内的气象数据,无论是每日、每小时还是其它时间粒度的数据,Meteostat都提供了灵活的接口和丰富的功能,使用Meteostat库,你可以:
3 .****
基于VMD分解的VMD-CNN-LSTM时间序列预测模型实现
基于VMD分解的VMD-LSTM时间序列预测模型实现,大力提升预测精度!
如果你对类似于这样的文章感兴趣。
欢迎关注、点赞、转发~