我有一个NC文件(时间、纬度、经度)在这里下载,我正在尝试提取多个站点(纬度/经度点从这里下载)的时间序列。因此我尝试了以下方式读取坐标并从NC文件中提取最近的数值:
代码运行良好,返回以下内容:
然而,我需要为每个坐标关联站点ID(来自我的原始经纬度文件) ,如下所示:
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)
代码运行良好,返回以下内容:
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
2019-01-01 19:00:00 0.0101 52.938 -124.938
2019-01-01 23:00:00 0.0200 52.938 -124.938
2019-01-01 19:00:00 0.1644 39.063 -79.438
2019-01-01 23:00:00 -0.0027 39.063 -79.438
然而,我需要为每个坐标关联站点ID(来自我的原始经纬度文件) ,如下所示:
Station-ID Lat Lon time EVP lat lon
0 Bo1 40.00620 -88.29040 1/1/2019 19:00 0.0546 40.063 -88.313
1 1/1/2019 23:00 0.0049 40.063 -88.313
2 Br1 41.97490 -93.69060 1/1/2019 19:00 0.0052 41.938 -93.688
3 1/1/2019 23:00 0.0029 41.938 -93.688
4 Brw 71.32250 -156.60917 1/1/2019 19:00 0.0101 52.938 -124.938
5 1/1/2019 23:00 0.0200 52.938 -124.938
6 CaV 39.06333 -79.42083 1/1/2019 19:00 0.1644 39.063 -79.438
7 1/1/2019 23:00 -0.0027 39.063 -79.438
你有什么想法可以将我的数据帧合并起来,就像提供的例子那样?