float 배열 (21600, 43200)을 포함하는 netcdf 파일이 있습니다. 너무 커서 RAM에 전체 배열을 읽고 싶지 않습니다. 따라서 Dataset 개체를 netCDF4 라이브러리에서 사용하여 배열을 읽었습니다.좌표 집합을 사용하여 매우 큰 ncdf를 신속하게 서브 세트해야합니다.
300-400 좌표의 2 개의 1D numpy 배열 (x_coords, y_coords)을 사용하여이 배열의 부분 집합 평균을 계산하고 싶습니다.
기본 색인 생성을 사용할 수 없다고 생각합니다. 좌표가 연속적이 아니기 때문입니다. 내가 현재 단지 개체에 직접 배열을 먹이과 같이됩니다하고 있어요 ~ 내가 사용 좌표에 따라 3-4초을
이ncdf_data = Dataset(file, 'r')
mean = np.mean(ncdf_data.variables['q'][x_coords, y_coords])
위의 코드 내 마음에 드는 (위해 너무 오래 걸립니다), 나는 이것을 어떻게 든 속도를 올리고 싶습니다. 고급 인덱싱을 트리거하지 않고도 이러한 하위 집합의 평균을 직접 계산할 때 사용할 수있는 비유적인 방법이 있습니까? 내가 h5py 공상 색인의 느린 속도에 대해 경고 알고
작은 덩어리를 메모리로 읽은 다음 그 위에 내 목록을 적용 해보겠습니다. 조언 해주셔서 감사합니다! –