2

3つの2Dnumpy配列を作成するpypyで実行されるメインプログラムがあります。これらをファイルに保存してから、Pythonを使用して開き、matplotlib.pyplotを使用してプロットします。

現在、pypyはnumpy.saveで動作しませんが、pypyを使用しながらnumpy配列のグループをファイルに保存する簡単な代替方法はありますか?

4

3 に答える 3

3

ライブラリの pickle は 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
于 2012-11-20T12:24:35.353 に答える
1

Python のstructモジュールを使用してみることができます。ここここの回答にいくつかの例があります。

もう 1 つのオプションは、pyfits や pytables などの外部ライブラリを使用することです。しかし、それらは pypy では利用できないのではないかと思います。

于 2012-11-20T02:17:16.660 に答える
1

ndarray.tofile () とnumpy.fromfile ()を使用できる場合があります。これにより、エンディアンが異なるマシン間でデータを移動する機能が失われますが、save() よりもさらに高速になるはずです。

例:

a = numpy.zeros( (5,5) )
a.tofile('a.dat')
b = numpy.fromfile('a.dat')
于 2012-11-19T23:05:31.997 に答える