2012-11-19 71 views
2

我有一個運行在pypy中的主程序,可以創建三個2D numpy數組。我想將它們保存到一個文件中,然後使用python打開它們並使用matplotlib.pyplot繪製它們。是否有替代numpy.save(文件,ARR),將與pypy一起工作?

當前pypy不能與numpy.save一起使用,是否有一種簡單的替代方法可以在使用pypy的同時將一組numpy數組保存到文件中?

回答

3

庫醃菜與pypy一起使用。他是我如何保存/加載numpy的陣列

import pickle 
import numpy 

保存(使用pypy):

outfile1 = open(r'C:\pythontmp\numpyArray.pkl', 'w+b') 
pickle.dump(numpyArray.tolist(), outfile1) 
outfile1.close() 

負載(使用python):

infile1 = open(r'C:\pythontmp\numpyArray.pkl', 'r+b') 
file1 = pickle.load(infile1)       # This is a list 
infile1.close() 

numpyArray = numpy.array(file1)      # This is a numpy array 
1

您可能可以使用ndarray.tofile()和numpy.fromfile()。這會失去在具有不同字節順序的機器之間移動數據的能力,但應該比save()更快。

例子:

a = numpy.zeros((5,5)) 
a.tofile('a.dat') 
b = numpy.fromfile('a.dat') 
+4

'tofile'和'fromfile'也[不支持](http://buildbot.pypy.org/numpy-status/latest.html)通過pypy。 – tiago

1

您可以嘗試使用Python的struct模塊。在答案herehere中有一些例子。

另一種選擇是使用外部庫,如pyfits或pytables。但我懷疑他們可能無法在pypy上使用。

相關問題