在 xarray 中对时间序列使用二维坐标
Using two dimensional coordinates for a time series in xarray
我目前正在处理 netcdf 文件。我想为某个位置绘制时间序列。
到目前为止我使用了:
ds = xr.open_dataset('testing.nc')
lon_name = "lon"
lat_name = "lat"
time_name = "time"
point1 = {'x': 8.807176, 'y': 53.913996}
# Gets the closest point to the coordinates
df = ds.sel(lat=point1['y'], lon=point1['x'], method='nearest').to_dataframe()
这很好用,但现在我得到了一个使用二维坐标的数据集。
使用 info() 给我这个:
xarray.Dataset {
dimensions:
ny = 536 ;
nx = 532 ;
variables:
datetime64[ns] time() ;
time:standard_name = time ;
float32 lat(ny, nx) ;
lat:units = degrees_north ;
lat:long_name = latitude ;
lat:standard_name = latitude ;
float32 lon(ny, nx) ;
lon:units = degrees_east ;
lon:long_name = longitude ;
lon:standard_name = longitude ;
那么现在如何以最简单的方式提取我的数据?从上面使用我的代码给我“KeyError:'no index found for coordinate lat'”。
我选择的坐标在数据边界内。我假设问题是坐标现在是二维的。
刚刚看到这个已经在别的地方问过了(之前没找到):
我目前正在处理 netcdf 文件。我想为某个位置绘制时间序列。 到目前为止我使用了:
ds = xr.open_dataset('testing.nc')
lon_name = "lon"
lat_name = "lat"
time_name = "time"
point1 = {'x': 8.807176, 'y': 53.913996}
# Gets the closest point to the coordinates
df = ds.sel(lat=point1['y'], lon=point1['x'], method='nearest').to_dataframe()
这很好用,但现在我得到了一个使用二维坐标的数据集。 使用 info() 给我这个:
xarray.Dataset {
dimensions:
ny = 536 ;
nx = 532 ;
variables:
datetime64[ns] time() ;
time:standard_name = time ;
float32 lat(ny, nx) ;
lat:units = degrees_north ;
lat:long_name = latitude ;
lat:standard_name = latitude ;
float32 lon(ny, nx) ;
lon:units = degrees_east ;
lon:long_name = longitude ;
lon:standard_name = longitude ;
那么现在如何以最简单的方式提取我的数据?从上面使用我的代码给我“KeyError:'no index found for coordinate lat'”。 我选择的坐标在数据边界内。我假设问题是坐标现在是二维的。
刚刚看到这个已经在别的地方问过了(之前没找到):