一、np文件簡述
NumPy是一個Python庫,在使用Python進行數值計算時經常會用到它。np文件就是NumPy在Python中存儲數據的一種格式,是一種二進位文件格式。它是以npy為擴展名的文件,可以用Python的NumPy庫來處理它,一般用於存儲、讀取大規模的數組和矩陣數據。
二、如何創建和保存np文件
在Python中,我們可以使用NumPy函數庫的save()函數來創建和保存np文件。下面是創建和保存一個np數組的代碼實例:
import numpy as np
# 創建一個4x3的矩陣
a = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]])
# 保存到文件中
np.save('test.npy', a)
運行此代碼後,會在當前目錄下創建test.npy文件,其中包含了我們創建的矩陣。如果需要在保存時進行壓縮,可以使用savez_compressed()函數。
三、如何讀取np文件
與創建和保存np文件類似,我們可以使用NumPy函數庫的load()函數來讀取np文件中包含的數組數據。下面是讀取np數組的代碼實例:
import numpy as np
# 從文件中讀取
b = np.load('test.npy')
print(b)
運行load()函數後,會返回包含數組數據的NumPy數組b。
四、如何查看np文件內容
如果我們需要查看np文件中存儲的內容,可以使用Python的二進位文件查看器(如Sublime、Notepad++等)或者Python的二進位文件讀寫模塊(如struct模塊)。下面是使用struct模塊查看np文件中的數據類型、形狀和大小的代碼實例:
import struct
# 打開文件
f = open('test.npy', 'rb')
# 文件頭
magic_str = struct.unpack('<6s', f.read(6))[0]
major_version, minor_version = struct.unpack('<bb', f.read(2))
header_len = struct.unpack('<H', f.read(2))[0]
header = f.read(header_len - 10)
# 解析頭信息
print('magic string:', magic_str.decode())
print('version:', major_version, minor_version)
print('header_len:', header_len)
print('header:', header.decode())
# 解析數組信息
dtype = np.dtype(header.split(b'\n')[1].decode())
shape = tuple(map(int, header.split(b'\n')[2].split(b',')[0].split(b'(')[1:]))
print('dtype:', dtype)
print('shape:', shape)
# 解析數組數據
data = np.fromfile(f, dtype=dtype).reshape(shape)
print('data:', data)
# 關閉文件
f.close()
執行該代碼後,會輸出包含頭信息、數組信息和數組數據的內容。
五、小結
通過以上幾個方面的介紹,我們已經了解了如何通過Python的NumPy庫來創建、保存、讀取和查看np文件。np文件作為NumPy庫中的一種數據保存格式,在進行大規模的數值計算和科學計算時,是一種非常高效和方便的數據存儲方法。如果您需要處理大規模的數組、矩陣數據,請不要忘記np文件這個便利的存儲方式。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/298243.html
微信掃一掃
支付寶掃一掃