【发布时间】:2020-08-08 02:33:13
【问题描述】:
我在使用 numpy.repeat 函数时遇到问题。它给了我一个 MemoryError。
def __calculate_lon_data(self):
lon_data = np.arange(self.min_lon, (self.max_lon + self.resolution),
self.resolution)
lon_data = [unextend_lon(lon) for lon in lon_data]
lon_data = np.float32(lon_data)
lon_data = np.repeat(lon_data, self.y_dims)
return lon_data
生成的数组为 18000 x 6501。
我成功地获取了 6501 纬度数组并重复了 18000 次,以填满整个网格。但是当我尝试获取 18000 Longitude 数组并重复 6501 次时,我得到了 MemoryError。
File "scripts/rain_file.py", line 712, in __calculate_lon_data
lon_data = np.repeat(lon_data, self.y_dims)
File "miniconda3/lib/python3.7/site-packages/numpy/core/fromnumeric.py", line 471, in repeat
return _wrapfunc(a, 'repeat', repeats, axis=axis)
File "miniconda3/lib/python3.7/site-packages/numpy/core/fromnumeric.py", line 56, in _wrapfunc
return getattr(obj, method)(*args, **kwds)
MemoryError
我已尝试搜索此错误,但尚未找到解决方案。 TIA
【问题讨论】: