【发布时间】:2014-12-11 02:39:12
【问题描述】:
我正在处理大数据,并且我有大小为 2000x100000 的矩阵,因此为了更快地工作,我尝试使用 numpy.memmap 来避免由于 RAM 限制而将这么大的矩阵存储在内存中。问题是当我将相同的矩阵存储在 2 个变量中时,即一个带有 numpy.load 和另一个带有 np.memmap,内容不一样。这是正常的吗?我在 memmap 中使用与我的数据相同的数据类型。示例:
A1 = numpy.load('mydata.npy')
A2 = numpy.memmap('mydata.npy',dtype=numpy.float64, mode='r', shape=(2000,2000))
A1[0,0] = 0
A2[0,0] = 1.8758506894003703e-309
这是两种情况下数组第一个元素的内容。正确的是值 0,但我通过使用 memmap 得到了这个奇怪的数字。 谢谢。
【问题讨论】:
-
或者你可以使用
blaze