日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python io_NumPy IO

發(fā)布時間:2023/12/2 python 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python io_NumPy IO 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

NumPy IO

Numpy 可以讀寫磁盤上的文本數(shù)據(jù)或二進制數(shù)據(jù)。

NumPy 為 ndarray 對象引入了一個簡單的文件格式:npy。

npy 文件用于存儲重建 ndarray 所需的數(shù)據(jù)、圖形、dtype 和其他信息。

常用的 IO 函數(shù)有:

load() 和 save() 函數(shù)是讀寫文件數(shù)組數(shù)據(jù)的兩個主要函數(shù),默認情況下,數(shù)組是以未壓縮的原始二進制格式保存在擴展名為 .npy 的文件中。

savez() 函數(shù)用于將多個數(shù)組寫入文件,默認情況下,數(shù)組是以未壓縮的原始二進制格式保存在擴展名為 .npz 的文件中。

loadtxt() 和 savetxt() 函數(shù)處理正常的文本文件(.txt 等)

numpy.save()

numpy.save() 函數(shù)將數(shù)組保存到以 .npy 為擴展名的文件中。

numpy.save(file, arr, allow_pickle=True, fix_imports=True)

參數(shù)說明:

file:要保存的文件,擴展名為 .npy,如果文件路徑末尾沒有擴展名 .npy,該擴展名會被自動加上。

arr: 要保存的數(shù)組

allow_pickle: 可選,布爾值,允許使用 Python pickles 保存對象數(shù)組,Python 中的 pickle 用于在保存到磁盤文件或從磁盤文件讀取之前,對對象進行序列化和反序列化。

fix_imports: 可選,為了方便 Pyhton2 中讀取 Python3 保存的數(shù)據(jù)。

實例

importnumpyasnpa=np.array([1,2,3,4,5])# 保存到 outfile.npy 文件上np.save('outfile.npy',a)# 保存到 outfile2.npy 文件上,如果文件路徑末尾沒有擴展名 .npy,該擴展名會被自動加上np.save('outfile2',a)

我們可以查看文件內(nèi)容:

$ cat outfile.npy

?NUMPYv{'descr': '

$ cat outfile2.npy

?NUMPYv{'descr': '

可以看出文件是亂碼的,因為它們是 Numpy 專用的二進制格式后的數(shù)據(jù)。

我們可以使用 load() 函數(shù)來讀取數(shù)據(jù)就可以正常顯示了:

實例

importnumpyasnpb=np.load('outfile.npy')print(b)

輸出結(jié)果為:

[1 2 3 4 5]

np.savez

numpy.savez() 函數(shù)將多個數(shù)組保存到以 npz 為擴展名的文件中。

numpy.savez(file, *args, **kwds)

參數(shù)說明:file:要保存的文件,擴展名為 .npz,如果文件路徑末尾沒有擴展名 .npz,該擴展名會被自動加上。

args: 要保存的數(shù)組,可以使用關(guān)鍵字參數(shù)為數(shù)組起一個名字,非關(guān)鍵字參數(shù)傳遞的數(shù)組會自動起名為 arr_0, arr_1, … 。

kwds: 要保存的數(shù)組使用關(guān)鍵字名稱。

實例

importnumpyasnpa=np.array([[1,2,3],[4,5,6]])b=np.arange(0,1.0,0.1)c=np.sin(b)# c 使用了關(guān)鍵字參數(shù) sin_arraynp.savez("runoob.npz",a,b,sin_array=c)r=np.load("runoob.npz")print(r.files)# 查看各個數(shù)組名稱print(r["arr_0"])# 數(shù)組 aprint(r["arr_1"])# 數(shù)組 bprint(r["sin_array"])# 數(shù)組 c

輸出結(jié)果為:

['sin_array', 'arr_0', 'arr_1']

[[1 2 3]

[4 5 6]]

[0. 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9]

[0. 0.09983342 0.19866933 0.29552021 0.38941834 0.47942554

0.56464247 0.64421769 0.71735609 0.78332691]

savetxt()

savetxt() 函數(shù)是以簡單的文本文件格式存儲數(shù)據(jù),對應(yīng)的使用 loadtxt() 函數(shù)來獲取數(shù)據(jù)。

np.loadtxt(FILENAME, dtype=int, delimiter=' ')

np.savetxt(FILENAME, a, fmt="%d", delimiter=",")

參數(shù) delimiter 可以指定各種分隔符、針對特定列的轉(zhuǎn)換器函數(shù)、需要跳過的行數(shù)等。

實例

importnumpyasnpa=np.array([1,2,3,4,5])np.savetxt('out.txt',a)b=np.loadtxt('out.txt')print(b)

輸出結(jié)果為:

[1. 2. 3. 4. 5.]

使用 delimiter 參數(shù):

實例

importnumpyasnpa=np.arange(0,10,0.5).reshape(4,-1)np.savetxt("out.txt",a,fmt="%d",delimiter=",")# 改為保存為整數(shù),以逗號分隔b=np.loadtxt("out.txt",delimiter=",")# load 時也要指定為逗號分隔print(b)

輸出結(jié)果為:

[[0. 0. 1. 1. 2.]

[2. 3. 3. 4. 4.]

[5. 5. 6. 6. 7.]

[7. 8. 8. 9. 9.]]

總結(jié)

以上是生活随笔為你收集整理的python io_NumPy IO的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。