2014-08-28 2 views
0

나는 파이썬으로 코딩 중이며 netCDF4를 사용하여 일부 부동 소수점 netCDF 데이터를 읽으려고합니다. 산 원래의 코드는 지금 한 번에 'thedata'한 조각을 읽을 수 있고, 때문에 다양하고 잡다한 다른 일들, 이제netCDF4가 데이터를 읽는 방법에 따라 다른 결과를 얻는 이유는 무엇입니까?

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를 입력 데이터와 동일한 유형으로 자동 설정하는 반면 두 번째 방법은 numpy 배열의 기본 유형으로 x를 설정하는 것입니다. 그러나 입력 데이터는 64 비트이고 numpy 배열의 기본값은 64 비트라고 생각했습니다. 그래서 그것은 그것을 설명하지 않습니다. 어떤 아이디어? 감사.

+1

각 유형 (유형 (...) 포함)을 확인 했습니까? – ratatoskr

답변

0

첫 번째 예제는 데이터를 NetCDF4 Variable 개체로 가져오고 두 번째 예제는 데이터를 numpy 배열로 가져옵니다. Variable 객체가 다른 양의 정밀도로 데이터를 표시하는 것일 수 있습니까?

관련 문제