我有一个 (4,) 数组要保存到磁盘(我正在使用的大小无法放入内存,因此我需要动态加载我需要的内容)。但是,我想把它放在一个numpy.memmap
. 不确定是否可能,但任何建议将不胜感激。
我有这个没有numpy.memmap
arr1 = [1,2,3,4]
arr2 = [2,3,4,5]
arr3 = [3,4,5,6]
arr4 = [4,5,6,7]
data = []
data.extend([arr1])
data.extend([arr2])
data.extend([arr3])
data.extend([arr4])
print(data)
[[1, 2, 3, 4], [2, 3, 4, 5], [3, 4, 5, 6], [4, 5, 6, 7]]
我希望能够做这样的事情:
import numpy as np
arr1 = np.memmap('./file1', np.dtype('O'), mode='w+', shape=(4,))
arr1[:] = [1,2,3,4]
arr2 = np.memmap('./file2', np.dtype('O'), mode='w+', shape=(4,))
arr2[:] = [2,3,4,5]
arr3 = np.memmap('./file3', np.dtype('O'), mode='w+', shape=(4,))
arr3[:] = [3,4,5,6]
arr4 = np.memmap('./file4', np.dtype('O'), mode='w+', shape=(4,))
arr4[:] = [4,5,6,7]
data = []
data.extend([arr1])
data.extend([arr2])
data.extend([arr3])
data.extend([arr4])
print (data)
[memmap([1, 2, 3, 4], dtype=object), memmap([2, 3, 4, 5], dtype=object), memmap([3, 4, 5, 6], dtype=object), memmap([4, 5, 6, 7], dtype=object)]
这需要我为每个数组创建不同的文件,我真的很想有一个memmap
可以处理整个 4 个迷你数组的文件。有人可以提供一种方法来使用memmaps
吗?
扩展 ie 的能力data.extend()
很重要,因为我不知道我有多少个迷你阵列。