numpy - 如何在npz文件中显示所有元素名称而不必完全加载?

标签 numpy

我使用以下代码在npz文件中显示元素名称。但是它需要完全加载文件,这可能会很慢,尤其是在文件较大时。有没有一种方法可以提取元素名称而不必完全加载文件?

x = numpy.load(file)
for k in x.iterkeys():
    print k

最佳答案

无需将整个文件读入内存,您就可以使用mmap [memmap documentation]访问磁盘上大文件的小片段。默认值为r+(打开现有文件进行读写)。
我下面的测试代码使用NpzFile files属性[NpzFile documentation]和'mnist.npz'测试数据[mnist.npz link],在Python 3.6中一切似乎都非常快:

>>> import numpy as np
>>> x = np.load('mnist.npz', mmap_mode='r')
>>> for k in x.files:
...     print(k)
... 
x_test
x_train
y_train
y_test
>>> 

请检查链接的numpy.memmap了解更多。

关于numpy - 如何在npz文件中显示所有元素名称而不必完全加载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49219436/

相关文章:

python - 如何使用 matplotlib 实时绘制条形图

python - 如何在Python中创建嵌套矩阵

python - 卷积模糊图像-python

python - Pandas/Numpy - 如何获取每列的计数并将其与每列进行比较并写入 csv?

python - 就地释放 Numpy 内存

python - 在列上过滤 numpy 矩阵

python - 为什么 numpy.allclose 使用非对称比较?

python - 从 scikit 管道中提取选定的特征名称

python - python中的Numba jit警告解释

python - 向多索引数据框添加列