Numpy 的 load(~)
方法读取扩展名为 .npy
和 .npz
的文件,并返回内存映射、Numpy 数组或类似字典的 Numpy 数组。
参数
1.file
| file-like object
或 string
或 pathlib.Path
要加载的文件。
2. mmap_mode
| None
或 string
| 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
:
行动 |
返回类型 |
---|---|
用 |
numpy 数组 |
用 |
|
正在阅读 |
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]
相关用法
- Python NumPy loadtxt方法用法及代码示例
- Python locals()用法及代码示例
- Python Django logout用法及代码示例
- Python NumPy logaddexp2方法用法及代码示例
- Python PIL logical_and() and logical_or()用法及代码示例
- Python NumPy log方法用法及代码示例
- Python NumPy logspace方法用法及代码示例
- Python Django login用法及代码示例
- Python NumPy logical_or方法用法及代码示例
- Python NumPy log2方法用法及代码示例
- Python logging.handlers.SocketHandler.makePickle用法及代码示例
- Python PIL logical_xor() and invert()用法及代码示例
- Python logging.Logger.debug用法及代码示例
- Python logging.debug用法及代码示例
- Python NumPy log1p方法用法及代码示例
- Python log10()用法及代码示例
- Python NumPy logical_and方法用法及代码示例
- Python logging.LogRecord用法及代码示例
- Python NumPy logaddexp方法用法及代码示例
- Python Django login_required用法及代码示例
- Python NumPy logical_not方法用法及代码示例
- Python NumPy log10方法用法及代码示例
- Python NumPy logical_xor方法用法及代码示例
- Python list remove()用法及代码示例
- Python len方法用法及代码示例
注:本文由纯净天空筛选整理自Isshin Inada大神的英文原创作品 NumPy | load method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。