【发布时间】:2017-07-14 08:25:08
【问题描述】:
我有一个 netcdf 文件,其中包含一个浮点数组(21600、43200)。我不想将整个数组读入 RAM,因为它太大了,所以我使用 netCDF4 库中的 Dataset 对象来读取数组。
我想使用 300-400 坐标的两个 1D numpy 数组 (x_coords, y_coords) 计算该数组的子集的平均值。
我认为我不能使用基本索引,因为我拥有的坐标不是连续的。我目前正在做的只是将数组直接输入到对象中,如下所示:
ncdf_data = Dataset(file, 'r')
mean = np.mean(ncdf_data.variables['q'][x_coords, y_coords])
上面的代码花费的时间太长了(大约 3-4 秒,具体取决于我使用的坐标),我想以某种方式加快速度。有没有一种 Pythonic 方法可以让我直接从这样的子集中计算出平均值而不触发花哨的索引?
【问题讨论】:
标签: python-2.7 numpy indexing slice netcdf4