本文簡要介紹 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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。