本文简要介绍 python 语言中 numpy.load
的用法。
用法:
numpy.load(file, mmap_mode=None, allow_pickle=False, fix_imports=True, encoding='ASCII')
从
.npy
、.npz
或 pickled 文件加载数组或 pickled 对象。警告
加载包含对象数组的文件使用
pickle
模块,该模块对错误或恶意构造的数据不安全。考虑传递allow_pickle=False
以加载已知不包含对象数组的数据,以便更安全地处理不受信任的源。- file: file-like 对象、字符串或 pathlib.Path
要读取的文件。 File-like 对象必须支持
seek()
和read()
方法。 pickle 文件要求 file-like 对象也支持readline()
方法。- mmap_mode: {无,‘r+’,‘r’,‘w+’,‘c’},可选
如果不是“无”,则使用给定模式对文件进行内存映射(有关模式的详细说明,请参阅
numpy.memmap
)。 memory-mapped 数组保存在磁盘上。然而,它可以像任何 ndarray 一样被访问和切片。内存映射对于访问大文件的小片段而不将整个文件读入内存特别有用。- allow_pickle: 布尔型,可选
允许加载存储在 npy 文件中的 pickle 对象数组。不允许 pickle 的原因包括安全性,因为加载 pickle 数据可以执行任意代码。如果不允许泡菜,加载对象数组将失败。默认值:假
- fix_imports: 布尔型,可选
仅在在 Python 3 上加载 Python 2 生成的 pickle 文件时有用,其中包括包含对象数组的 npy/npz 文件。如果 fix_imports 为 True,pickle 将尝试将旧的 Python 2 名称映射到 Python 3 中使用的新名称。
- encoding: str,可选
读取 Python 2 字符串时使用什么编码。仅在在 Python 3 中加载 Python 2 生成的 pickle 文件时有用,其中包括包含对象数组的 npy/npz 文件。不允许使用 ‘latin1’、“ASCII”和 ‘bytes’ 以外的值,因为它们会损坏数字数据。默认值:“ASCII”
- result: 数组、元组、字典等
数据存储在文件中。对于
.npz
文件,必须关闭返回的NpzFile 类实例,以避免泄漏文件说明符。
- 操作系统错误
如果输入文件不存在或无法读取。
- UnpicklingError
如果
allow_pickle=True
,但文件不能作为泡菜加载。- ValueError
该文件包含一个对象数组,但给出了
allow_pickle=False
。
参数:
返回:
抛出:
注意:
如果文件包含泡菜数据,则返回存储在泡菜中的任何对象。
如果文件是
.npy
文件,则返回单个数组。如果文件是
.npz
文件,则返回一个类似字典的对象,其中包含{filename: array}
键值对,存档中的每个文件都有一个。如果文件是
.npz
文件,则返回值支持上下文管理器协议,其方式与 open 函数类似:with load('foo.npz') as data: a = data['a']
退出‘with’ 块时,底层文件说明符关闭。
例子:
将数据存储到磁盘,然后再次加载:
>>> np.save('/tmp/123', np.array([[1, 2, 3], [4, 5, 6]])) >>> np.load('/tmp/123.npy') array([[1, 2, 3], [4, 5, 6]])
将压缩数据存储到磁盘,然后再次加载:
>>> a=np.array([[1, 2, 3], [4, 5, 6]]) >>> b=np.array([1, 2]) >>> np.savez('/tmp/123.npz', a=a, b=b) >>> data = np.load('/tmp/123.npz') >>> data['a'] array([[1, 2, 3], [4, 5, 6]]) >>> data['b'] array([1, 2]) >>> data.close()
Mem-map 存储数组,然后直接从磁盘访问第二行:
>>> X = np.load('/tmp/123.npy', mmap_mode='r') >>> X[1, :] memmap([4, 5, 6])
相关用法
- Python numpy loadtxt用法及代码示例
- Python numpy logaddexp用法及代码示例
- Python numpy log10用法及代码示例
- Python numpy logspace用法及代码示例
- Python numpy lookfor用法及代码示例
- Python numpy log用法及代码示例
- Python numpy logaddexp2用法及代码示例
- Python numpy log2用法及代码示例
- Python numpy logical_xor用法及代码示例
- Python numpy log1p用法及代码示例
- Python numpy logical_and用法及代码示例
- Python numpy logical_not用法及代码示例
- Python numpy logical_or用法及代码示例
- Python numpy legendre.legint用法及代码示例
- Python numpy linalg.svd用法及代码示例
- Python numpy laguerre.lagone用法及代码示例
- Python numpy linalg.pinv用法及代码示例
- Python numpy linalg.eigh用法及代码示例
- Python numpy linalg.tensorinv用法及代码示例
- Python numpy laguerre.lagdomain用法及代码示例
- Python numpy laguerre.lagzero用法及代码示例
- Python numpy legendre.legmulx用法及代码示例
- Python numpy less用法及代码示例
- Python numpy linalg.LinAlgError用法及代码示例
- Python numpy linalg.matrix_rank用法及代码示例
注:本文由纯净天空筛选整理自numpy.org大神的英文原创作品 numpy.load。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。