根据xarray.Dataset中的时间索引打印出特定变量

问题描述 投票:0回答:1

我使用

nc = xarray.open_dataset(...)
访问了 netCDF 文件。该数据集包含以下内容:

<xarray.Dataset>
Dimensions:    (latitude: 121, longitude: 261, time: 8760)
Coordinates:
  * longitude  (longitude) float32 -20.0 -19.75 -19.5 -19.25 ... 44.5 44.75 45.0
  * latitude   (latitude) float32 55.0 54.75 54.5 54.25 ... 25.5 25.25 25.0
  * time       (time) datetime64[ns] 1979-01-01 ... 1979-12-31T23:00:00
Data variables:
    u10        (time, latitude, longitude) float32 ...
    v10        (time, latitude, longitude) float32 ...
    msl        (time, latitude, longitude) float32 ...
Attributes:
    Conventions:  CF-1.6
    history:      2020-11-24 08:15:21 GMT by grib_to_netcdf-2.16.0: /opt/ecmw...
    

使用

nc.to_dataframe()
,我能够打印出“更好看”的数据格式,如下所示:

从这里,我想打印 9 月份的

u10
(以及后来的
v10
)值,即从
1979-01-01 00:00:00
1979-10-01 00:00:00
nc
的索引是a

MultiIndex([(55.0, -20.0, '1979-01-01 00:00:00'), ... names=['latitude', 'longitude', 'time'], length=276649560)

我不确定 MultiIndex 部分是否有帮助。

python dataframe dataset netcdf python-xarray
1个回答
0
投票

我建议先学习

xarray
的基础知识。他们有一些关于如何开始的写得很好的示例。对于您的情况,请查看这些示例,了解如何选择数据。

就你而言

t1 = '1979-01-01 00:00:00'
t2 = '1979-10-01 00:00:00'
## select data from t1 till t2
a = nc.u10.sel(time=slice(t1, t2))
print(a)
© www.soinside.com 2019 - 2024. All rights reserved.