问题描述
我完全迷失了,不知道该怎么做。
我使用 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,longitude) float32 ...
msl (time,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
的索引是一个
MultiIndex([(55.0,-20.0,'1979-01-01 00:00:00'),... names=['latitude','longitude','time'],length=276649560)
我不确定 MultiIndex 部分是否有帮助。任何方向正确的帮助或提示都会非常感激,过去三天我一直在坚持这一点。
解决方法
欢迎使用堆栈溢出。这是关于 how to ask a question.
的指南我建议先学习 xarray
的基础知识。他们有一些关于如何开始的写得很好的examples。对于您的情况,请查看 how to select data.
就你而言
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)