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