1

我有一个 (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()很重要,因为我不知道我有多少个迷你阵列。

4

0 回答 0