3

我有d连接到 h5 数据集的对象:

>>> data = d[:, :, 0].astype(np.float32)
>>> data.shape
(17201, 10801)
>>> data[data==-32768] = data[data>0].min()
Traceback (most recent call last):
  File "<interactive input>", line 1, in <module>
MemoryError

我可以做一些其他的切片技巧来避免这个错误吗?

4

1 回答 1

2

好的,我正在自己写答案,因为在@mgilson 质疑数据类型后获得了可接受的解决方案。

如果数据允许,则可以通过在对数组进行操作时使用更简单的数据类型来避免内存错误。考虑到最初的问题,这对我有用:

>>> data = d[:, :, 0].astype(np.short)
>>> data[data==-32768] = data[data>0].min()
>>> data = data.astype(np.float32)
于 2012-12-17T15:43:24.893 回答