我正在使用python 3.5(64bit)我想加载并打印6.4GB的numpy文件。我的朋友给我发送了我想要的代码。她成功加载了数据,但是我看不到相同的结果。我成功安装了numpy 1.16.1。我将文件移至本地磁盘以修复此错误。但这没有用。
import numpy as np
data = np.load('C:/Users/papar/Desktop/processed_endomondoHR_proper_interpolate.npy')
print(data)
Traceback (most recent call last):
File "C:/Users/papar/PycharmProjects/untitled4/venv/plz.py", line 3, in <module>
data = np.load('C:/Users/papar/Desktop/processed_endomondoHR_proper_interpolate.npy')
File "C:\Users\papar\PycharmProjects\untitled4\venv\lib\site-packages\numpy\lib\npyio.py", line 440, in load
pickle_kwargs=pickle_kwargs)
File "C:\Users\papar\PycharmProjects\untitled4\venv\lib\site-packages\numpy\lib\format.py", line 693, in read_array
array = pickle.load(fp, **pickle_kwargs)
MemoryError
内存错误表示您的阵列不适合内存。
如何处理取决于您的情况:
验证阵列的数据类型,并尝试找到最适合您的阵列的数据类型。例如,如果您使用的是float64
,请考虑float32
甚至float16
是否合适
如果数据稀疏,则可以使用稀疏矩阵。搜索Scipy稀疏矩阵。但是请注意,为保持稀疏性,您可能会受限于微积分(例如,协方差的计算将导致非稀疏矩阵)
考虑是否可以对数据的子集进行计算。这称为子采样。也许使用子采样就可以获得足够好的模型(对于像Kmean这样的聚类算法来说可能就是这种情况)。