【问题标题】:numpy.repeat MemoryErrornumpy.repeat MemoryError
【发布时间】: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

【问题讨论】:

    标签: python numpy


    【解决方案1】:

    我发现了我的问题。我的 y_dims 正在发生变化,而我没有意识到它的数量要大得多。现在解决这个问题,我应该会很好。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-24
      • 2015-10-24
      • 2017-03-31
      • 2017-10-24
      • 2018-06-13
      • 1970-01-01
      相关资源
      最近更新 更多