我需要从netcdf文件中绘制bg变量,但是时间是以时间步长表示的。我读了netcdf文件:
data =netCDF4.Dataset (r'D:\Users\NOAA\\CT2019B.molefrac_components_glb3x2_2014-2018.nc')
time = data.variables['time'][:]
bg = data.variables['bg']时间是:
masked_array(data=[5114.0625, 5114.0625, 5114.1875, ..., 6939.8125,
6939.9375, 6939.9375],
mask=False,
fill_value=1e+20)单位:
'days since 2000-1-1 00:00:00'
plot(time,bg)

我需要将x.axis从timestep数字转换为日期(2014-01-01....)
我试着把它们转换成
time = netCDF4.num2date(data.variables['time'][:],data.variables['time'].units)但是,当我把它画出来的时候
plot(time,bg)我收到以下错误消息
TypeError: float()参数必须是字符串或数字,而不是'cftime._cftime.DatetimeGregorian‘
有谁知道如何解决这个问题吗?非常感谢!
发布于 2020-12-10 04:45:50
您可以强制num2date为您提供Python datetime对象:
time = netCDF4.num2date(data.variables['time'][:], data.variables['time'].units,
only_use_python_datetimes=True)有关更多信息,请参阅cftime的docs (这是netCDF4在幕后使用的工具)。
https://stackoverflow.com/questions/65198465
复制相似问题