我在python中编码,并尝试使用netCDF4读取一些浮点netCDF数据。 Mt原始代码看起来像
from netCDF4 import Dataset
import numpy as np
infile='blahblahblah'
ds = Dataset(infile)
start_pt = 5 # or whatever
x = ds.variables['thedata'][start_pt:start_pt+2,:,:,:]
现在,由于其他各种各样的东西,我现在必须阅读“数据”。一次一片:
x = np.zeros([2,I,J,K]) # I,J,K match size of input array
for n in range(2):
x[n,:,:,:] = ds.variables['thedata'][start_pt+n,:,:,:]
问题是两种阅读方法的结果略有不同。没什么大不了的,比如10到5的一部分,但还是......
所以有人能告诉我为什么会这样,以及如何保证这两种方法的结果相同?我的想法是第一种方法可能会自动将x设置为与输入数据相同的类型,而第二种方法将x设置为numpy数组的默认类型。但是,输入数据是64位,我认为numpy数组的默认值也是64位。所以这并没有解释它。有任何想法吗?感谢。
答案 0 :(得分:0)
第一个示例将数据拉入NetCDF4 Variable对象,而第二个示例将数据拉入numpy数组。 Variable对象是否可能只是以不同的精度显示数据?