Numpy之結構數組與數組持久化


在Numpy中可能會用到類似C語言中的結構體,Numpy中定義結構數組的方法也比較簡單:

1 import numpy as np
2 person = np.dtype({'names':['name', 'age', 'weight'], 'formats':['S32', 'i', 'f']})
3 p = np.arrary([("Zhang", 32, 75.5), ("Wang", 25, '60.5')], dtype=person)

字典有兩個關鍵字:names,formats,這是必須的。names定義結構體中每個字段名,而formats則對各個字段的數據格式進行了說明:

S32:32個字節的字符串

i:32 的int類型,np.int32

f:32位的單精度浮點類型,np.float32

 

訪問方式使用下標訪問,數組內存共享。

1 p[0]
2 ('Zhang', 32, 75.5)
3 
4 p[0]["name"]
5 'Zhang'

 

 

將數據保存至文件,可以使用tofile()方法,讀取可以使用fromfile()方法:

1 p.tofile("d:\\test.bin")
2 b = np.fromfile("d:\\test.bin", dtype=person) #需要注明數據類型
3 c = np.matrix(b)                                         #通過數組創建矩陣

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM