当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python NumPy load方法用法及代码示例


Numpy 的 load(~) 方法读取扩展名为 .npy.npz 的文件,并返回内存映射、Numpy 数组或类似字典的 Numpy 数组。

参数

1.file | file-like objectstringpathlib.Path

要加载的文件。

2. mmap_mode | Nonestring | optional

是否返回内存映射或 Numpy 数组。当您要读取的数据太大而无法放入内存时,Memory-maps 会派上用场。 Memory-maps 存储在磁盘中,可以通过切片语法访问数据(例如 [2:5] )。

允许的值如下:

说明

r

打开文件仅供阅读。

r+

打开文件以进行读取和写入。

w+

打开文件进行读取和写入

如果文件不存在,则创建一个新文件。

写入将覆盖现有内容。

c

写入是对内存中的数据执行的,而不是在磁盘上执行的。

这意味着实际数据是只读的。

None

将数据加载为 Numpy 数组。

默认情况下,mmap_mode=None

3. allow_pickle | boolean | optional

是否使用 pickling 来加载数组。如果您的数据仅由数字数据类型组成,则不需要进行酸洗。默认情况下,allow_pickle=True

警告

如果 dtype 是数字,则选择 allow_pickle=False

作为一般经验法则,如果不需要,则不应使用 pickles,因为不同版本的 Python 和 Numpy 可能会以不同方式解释 pickles,因此您可能无法加载文件。此外,由于读取 pickled 文件涉及在文件中运行任意代码,因此读者很容易受到恶意攻击。

4. fix_imports | boolean | optional

仅当您使用 Python 3 读取使用 Python 2 生成的 pickled 文件时,这才有意义。如果设置为 True ,则可以进行此类读取。默认情况下,fix_imports=True

5. encoding | string | optional

仅当您使用 Python 3 读取使用 Python 2 生成的 pickled 文件时,这才有意义。允许的值为 "latin1""ASCII""bytes" 。默认情况下,encoding="ASCII"

返回值

返回类型取决于您正在读取 .npy 文件还是 .npz 文件以及提供的 mmap_mode

行动

返回类型

mmap_mode=None读取.npy

numpy 数组

mmap_mode!=None读取.npy

memmap

正在阅读.npz

Numpy 数组的类似字典

例子

读取 .npy 文件

让我们创建一个.npy 文件来读取:

x = np.array([3,4,5])
np.save("my_data.npy", x)

这将在与 Python 脚本相同的目录中创建一个名为 "my_data.npy" 的文件。

将此文件作为 Numpy 数组加载:

y = np.load("my_data.npy")
y



array([3, 4, 5])

将此文件作为 memmap 对象加载:

y = np.load("my_data.npy", "r")
y



memmap([3, 4, 5])

读取 .npz 文件

.npy 文件不同,.npz 包含一组 Numpy 数组。

创建.npz 文件:

x = np.array([3,4,5])
y = np.array([6,7,8])
np.savez("my_data", my_x=x, my_y=y)

要读取此.npz 文件:

my_arrays = np.load("my_data.npz")
print("x", my_arrays["my_x"])
print("y", my_arrays["my_y"])



x [3 4 5]
y [6 7 8]

相关用法


注:本文由纯净天空筛选整理自Isshin Inada大神的英文原创作品 NumPy | load method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。