NumPyの配列をCSVファイルにダンプする方法はありますか?2DのNumPy配列があり、それを人間が読める形式でダンプする必要があります。
numpy.savetxt` 配列をテキストファイルに保存します。
import numpy
a = numpy.asarray([ [1,2,3], [4,5,6], [7,8,9] ])
numpy.savetxt("foo.csv", a, delimiter=",")
tofile`は、これを行うための便利な関数です。
import numpy as np
a = np.asarray([ [1,2,3], [4,5,6], [7,8,9] ])
a.tofile('foo.csv',sep=',',format='%10.5f')
manページには便利なメモがあります。
これは配列データを素早く保存するための便利な関数です。 エンディアンや精度に関する情報は失われますので、この方法は データのアーカイブやデータの転送を目的としたファイルには適していません。 エンディアンが異なるマシン間でのデータ転送には適していません。これらの問題のいくつかは これらの問題は、速度やファイルサイズを犠牲にして、テキストファイルとして出力することで解決できます。 これらの問題のいくつかは、速度とファイルサイズを犠牲にして、テキストファイルとして出力することで克服できます。
ご注意ください。この機能は複数行のcsvファイルを生成するものではなく、すべてを1行に保存します。
numpyの配列(例:your_array = np.array([[1,2],[3,4]])
)を1つのセルに保存したい場合は、まずyour_array.tolist()
で変換します。
その後、通常の方法で、delimiter=';'
で1つのセルに保存します。
とすると、csvファイルのセルは以下のようになります [[1, 2], [2, 4]]
。
そして、次のように配列を復元することができます。
your_array = np.array(ast.literal_eval(cell_string))