私はMatlabのバックグラウンドから来て、最近Pythonでコーディングを開始しました。私はMonte Carloを使用して大量のデータを生成します。これらは時には10次元配列です。 Matlabでは、これらの配列を格納する.matファイル形式と、構造体を使用する入力およびその他のパラメータを使用しています。大きなシミュレーションを保存するPython
Python用に推奨されるストレージまたは同等のものは何ですか?
私はMatlabのバックグラウンドから来て、最近Pythonでコーディングを開始しました。私はMonte Carloを使用して大量のデータを生成します。これらは時には10次元配列です。 Matlabでは、これらの配列を格納する.matファイル形式と、構造体を使用する入力およびその他のパラメータを使用しています。大きなシミュレーションを保存するPython
Python用に推奨されるストレージまたは同等のものは何ですか?
Pythonの標準オブジェクトのシリアル化はpickleです。ドキュメントから
「酸洗い」は、Pythonオブジェクト階層が バイトストリームに変換、および逆 操作、それによりバイト・バイナリ・ファイルからのストリーム(またはbytes-ある「unpickle化」されるプロセスであります オブジェクトのような)はオブジェクト階層に変換されます。
の例では、代替HDF5形式にデータを書き込むためのサードパーティのモジュールであるh5pyのようなものを使用することです
import pickle
mydata = [1, 2, 3, 5]
pickle.dump(mydata, open("mydata.p", "wb"))
mydata2 = pickle.load(open("mydata.p", "rb"))
だろう。 HDF5は大きな数値データセットを念頭に置いて設計されているため、用途に応じて、これはより効果的なソリューションになる可能性があります。実際、最新の.matファイルは実際にはhdf5ファイルの上に設計されています。source。
あなたは(Pythonの2.xの)のためのピクルスライブラリまたはcplickeとpythonで直列化オブジェクトを使用することができ、
はhttps://docs.python.org/2/library/pickle.html 例:あなたは、ファイルとして保存したい場合は
import pickle
filetocreate = open('newfile.txt','w')
pickle.dump(arrayxD, filetocreate, -1)
、その後のことができます使用します
pickle.load(file)
- #利用可能な最高のプロトコルを使用してリストを選択します。 = -1 - #そうでない場合は= 0
参照: pickle.HIGHEST_PROTOCOL
An integer, the highest protocol version available. This value can be passed as a protocol value to functions dump() and dumps() as well as the Pickler constructor.
pickle.DEFAULT_PROTOCOL
An integer, the default protocol version used for pickling. May be less than HIGHEST_PROTOCOL. Currently the default protocol is 3, a new protocol designed for Python 3.
MATLABの男から来て、あなたはまだ保存することができます/負荷のマットSciPyを使用したPythonのファイル:http://docs.scipy.org/doc/scipy/reference/generated/scipy.io.savemat.html :) – Amro