gpt4 book ai didi

python - python中高效读取netcdf变量

转载 作者:太空狗 更新时间:2023-10-30 02:43:15 41 4
gpt4 key购买 nike

我需要能够在 python 中快速读取大量 netCDF 变量(每个文件 1 个变量)。我发现 netCDF4 库中的数据集函数与其他语言(例如 IDL)中的读取实用程序相比相当慢。

我的变量的形状为 (2600,5200),类型为 float。它们对我来说似乎并不大(文件大小 = 52Mb)。

这是我的代码:

import numpy as np
from netCDF4 import Dataset
import time
file = '20151120-235839.netcdf'
t0=time.time()
openFile = Dataset(file,'r')
raw_data = openFile.variables['MergedReflectivityQCComposite']
data = np.copy(raw_data)
openFile.close()
print time.time-t0

读取一个变量(一个文件)大约需要3秒。我认为主要的减速是 np.copy。 raw_data<type 'netCDF4.Variable'> ,因此是副本。这是在 python 中执行 netCDF 读取的最佳/最快方法吗?

谢谢。

最佳答案

Numpy 的强大之处在于,您可以通过它保留的有关数据的元数据创建对内存中现有数据的 View 。因此,通过指针,副本总是比 View 慢。正如 JCOidl 所说,不清楚为什么你不只是使用:

 raw_data = openFile.variables['MergedReflectivityQCComposite'][:] 

有关详细信息,请参阅 SciPy Cookbook所以 View onto a numpy array?

关于python - python中高效读取netcdf变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34159747/

41 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com