日记(站点到网格)
import pandas as pd
import numpy as np
#读取文本文件,以空格作为分隔,给数据六个列名,对于数值为-99.90付为缺省值nan
f = pd.read_csv('文件',sep='\s+',names=['sta','lat','lon','alt','year','tm'],na_values=-99.90)
#取出其中2006年的数据
data = f.loc[f.year==2006]
#如果一行中有nan值,删除这一行
data = data.dropna(axis=0,how='any')
#提取纬度、经度和平均温度
lat = data.lat.values/100
lon = data.lon.values/100
tm = data.tm.values
sta = data.sta.values
#使用agg函数查看数据的min 和 max,了解数据的大致信息
print(data.agg(['min', 'max']))
Cressman插值(需要安装metpy库)
Cressman插值法是一种反距离权重插值法,它使用网格点与在一定范围内所有站点的距离反比作为权重,并以此计算网格点值的插值模型。
from metpy.interpolate import inverse_distance_to_grid
#根据前面的经纬度的最大和最小值,定义两个等差序列的数组
lon_grid = np.arange(75.0, 134.0, 1.0)
lat_grid = np.arange(16.0, 54.0, 1.0)
#使用两个数组,编织一个网格
lon_gridmesh, lat_gridmesh = np.meshgrid(lon_grid, lat_grid)
tm_grid = inverse_distance_to_grid(lon,lat,tm,lon_gridmesh,lat_gridmesh,r=15,min_neighbors=3)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix