[英]Serialize a tuple of numpy arrays
我有幾個numpy矩陣(確切地說是3維)存儲在元組中
(a1,b1,c1)
(a2,b2,c2)
...
(an,bn,cn)
我想將每個元組序列化為一個文件,可以在另一台機器上讀回Python(Linux => Windows,兩者都是x86-64)。 什么是pythonic方法來實現這一目標?
numpy.savez或numpy.savez_compressed是要走的路。 我聽說過,但從來沒有遇到某些類型的陣列沒有酸洗的問題。
Pickle可能會運作良好
我也看到了這個: http : //thsant.blogspot.com/2007/11/saving-numpy-arrays-which-is-fastest.html
使用shelve
, pickle
, cPickle
或shove
。 每個都可以讓你將大多數類型的python對象存儲在一個文件中; shove
和shelve
專注於將鍵映射到值的類字典對象,並且shove
將允許您使用各種類似數據庫的后端。 如果您發現自己超出了這些庫的性能限制,請考慮使用數據庫路由,例如通過SQLAlchemy 。
我已經使用了這些庫中的每一個,並且它們在自己的利基中工作得相當好。 我會從pickle
或shelve
開始,這是標准庫。
我通常使用cPickle
,雖然我沒有與其他方法進行正式比較。 另外,我總是把文件寫成二進制文件並使用最高協議設置:
f = open('fname.pkl','wb')
cPickle.dump(array_tuple,f,-1)
f.close()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.