我有一个 NC 文件(时间、纬度、经度)从这里下载,我正在尝试提取多个站点的时间序列(纬度/经度点从这里下载)。所以我尝试用这种方式读取坐标并从 NC 文件中提取最接近的值:
import pandas as pd
import xarray as xr
nc_file = r"C:\Users\lab\Desktop\harvey\example.nc"
NC = xr.open_dataset(nc_file)
csv = r"C:\Users\lab\Desktop\harvey\stations.csv"
df = pd.read_csv(csv,delimiter=',')
Newdf = pd.DataFrame([])
# grid point lists
lat = df["Lat"]
lon = df["Lon"]
point_list = zip(lat,lon)
for i, j in point_list:
dsloc = NC.sel(lat=i,lon=j,method='nearest')
DT=dsloc.to_dataframe()
Newdf=Newdf.append(DT,sort=True)
Run Code Online (Sandbox Code Playgroud)
该代码工作正常并返回:
EVP lat lon
time
2019-01-01 19:00:00 0.0546 40.063 -88.313
2019-01-01 23:00:00 0.0049 40.063 -88.313
2019-01-01 19:00:00 0.0052 41.938 -93.688
2019-01-01 23:00:00 0.0029 41.938 -93.688 …Run Code Online (Sandbox Code Playgroud)