簡體   English   中英

將numpy數組的元組保存到磁盤?

[英]Save tuple of numpy arrays to disk?

當我運行compute函數從圖像中提取它們時(keypoint, descriptor)我得到一個numpy數組的元組作為(keypoint, descriptor)

有沒有辦法將這個元組打包在一起,以便我可以將它們保存到文件中,或者將它們作為一行寫入CSV?

有幾種方法可以做到這一點:

  • 您可以使用Python csv模塊 ,特別是writer的對象

     import csv writer = csv.writer(open("file.csv","w")) for row in array: writer.writerow(str(row)) 

    根據這個問題 ,可能存在一些格式問題。

  • 如評論中所述,您可以使用numpy.savetxt() 這可能是最好的方法:

     numpy.savetxt("file.csv",array,delimiter=",") 
  • 您還可以使用pickle模塊

     import pickle pickle.dump(array,open("file","w")) 

    正如我在上面鏈接的文檔中所提到的, pickle.load()不應該用於加載不受信任的數據。

我建議使用cPickle而不是使用pickle

import cPickle as pickle
pickle.dump(array, open('file.p', 'wb'))

請注意,所有調用都與使用pickle時相同 - 只有import行更改。

cPicklepickle快得多,大型陣列可以為您節省大量時間。

也就是說,當你處理numpy數組時,使用numpy的保存函數 - 例如np.savetxt - 是你最好的選擇。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM