【发布时间】:2014-03-10 21:50:28
【问题描述】:
我有一个 .npy 文件,我基本上知道其中的所有内容(大小、元素数量、元素类型等),我希望有一种方法可以在不加载数组的情况下检索特定值。目标是使用尽可能少的内存。
我正在寻找类似的东西
def extract('test.npy',i,j):
return "test.npy[i,j]"
我有点知道如何使用文本文件(请参阅最近的问题),但使用 npy 数组执行此操作可以让我做的不仅仅是行提取。
此外,如果您知道使用 scipy 稀疏矩阵执行此操作的任何方法,那将非常棒。
谢谢。
【问题讨论】:
-
@ali_m - 这根本不是真的。
.npy文件被设计为内存映射。 HDF5 在这方面当然更有效,因为它对文件进行了分块(磁盘上长搜索的变化较小),但对 memmaping.npy文件的支持是内置于 numpy 的。只需使用np.load(filename, mmap_mode='r')。不过,总的来说,我当然同意 HDF5 从长远来看是更好的选择。 -
@JoeKington 我的立场是正确的!
标签: python arrays numpy loading extract