我将对象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
我可以做一些其他的切片技巧来避免这个错误吗?
答案 0 :(得分:2)
好的,我正在写自己的答案,因为在@mgilson质疑数据类型后获得了可接受的解决方案。
如果数据允许,在阵列上操作时使用更简单的数据类型可以避免内存错误。考虑到最初的问题,这对我有用:
>>> data = d[:, :, 0].astype(np.short)
>>> data[data==-32768] = data[data>0].min()
>>> data = data.astype(np.float32)