numpy arrayの保存
numpy配列をそのままファイルに保存できることに気付きました。
リストと同じようにcsvモジュールで保存していたのは何だったのでしょうか……
Numpy.savetxtでcsv出力をする方法 | memotoxin
という訳で、上のページに書いているのを参考にしてnp.savetxtで配列を保存してみます。
import numpy as np x = np.ones((2, 3, 4)) np.savetxt("save.txt", x, fmt="%.0f", delimiter=",")
実行すると、float argument required, not numpy.ndarrayとエラーが出ました。
python - How to write a multidimensional array to a text file? - Stack Overflow
どうやら3次元以上の配列だと、2次元配列に変換しないとnp.savetxtで保存できないらしい。
そこで、もう1つの保存する関数であるnp.saveを使うことにしました。
np.save("save.npy", x)
今度は正常にファイルが保存できました。
.npy以外の拡張子を付けると、自動で.npyがファイル名の最後に付くようです。
保存したデータを読み込みたいときは、
y = np.load("save.npy")
で読み込むことができます。
ちなみにnp.savetxtで保存した配列は、np.loadtxtで読み込むことができるが、delimiterを正しく設定する必要があります。