[英]Print out specific variables based on time index in xarray.Dataset
我完全迷路了,不知道该怎么做。
我已经使用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()
,我能够像这样打印出“更好看”的数据格式:
从这里,我想打印出九月份的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 部分是否有帮助。 任何正确方向的帮助或提示都会非常有帮助,过去三天我一直坚持这一点。
欢迎来到堆栈溢出。 这是有关如何提问的指南。
我建议先学习xarray
的基础知识。 他们有一些关于如何开始的写得很好的例子。 对于您的情况,请查看这些示例,了解如何获取 select 数据。
在你的情况下
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)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.