NumPy配列のファイル読み書き
np.save
と np.load
2015/06/10
np.save
と np.load
はファイルにndarrayを出力したり、ファイルから入力したりできる。ファイルのフォーマットはバイナリで、ファイル名の拡張子にはよく.npy
を使う。
1ファイルにndarrayを1つ保存できる。
ndarr1 = np.array([0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0])
np.save('test.npy', ndarr1)
ndarr2 = np.load('test.npy')
print(ndarr2)
# 出力結果
# [ 0. 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1. ]
numpy.save
| NumPy v1.9 Manual
http://docs.scipy.org/doc/numpy/reference/generated/numpy.save.html
numpy.load
| NumPy v1.9 Manual
http://docs.scipy.org/doc/numpy/reference/generated/numpy.load.html
np.savez
と np.load
2015/06/10
np.savez
を使うと複数のndarrayを名前付きで、しかも圧縮してファイルに保存できる。保存したファイルを読み込むには上と同じく np.load
を使う。
np.load
はファイルの保存形式を拡張子で判断しているようで、
np.savez
での保存形式の場合は拡張子は .npz
を使う。
ndarr1 = np.array([0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0])
ndarr2 = np.array([10, 20, 30])
np.savez('test.npz', x=ndarr1, y=ndarr2)
ndarr3 = np.load('test.npz')
print(ndarr3['x'])
# 出力結果
# [ 0. 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1. ]
print(ndarr3['y'])
# 出力結果
# [10 20 30]
numpy.savez
| NumPy v1.9 Manual
http://docs.scipy.org/doc/numpy/reference/generated/numpy.savez.html
numpy.load
| NumPy v1.9 Manual
http://docs.scipy.org/doc/numpy/reference/generated/numpy.load.html
np.savetxt
と np.loadtxt
2015/06/10
np.savetxt
を使うと2次元配列のCSV、TSVなどのndarrayをテキストファイルに保存できる。保存したファイルを読み込むには np.loadtxt
を使う。
区切り文字は名前付き引数delimiter
で指定することができ、デフォルトは空白になる。コンマ区切りのCSVであれば delimiter=','
と指定する。タブ区切りのTSVであれば delimiter='\t'
と指定する。
ndarr1 = np.array([[1., 2., 3.], [4., 5., 6.], [7., 8., 9.]])
np.savetxt('test.csv', ndarr1, delimiter=',')
ndarr2 = np.loadtxt('test.csv', delimiter=',')
print(ndarr2)
# 出力結果
# [[ 1. 2. 3.]
# [ 4. 5. 6.]
# [ 7. 8. 9.]]
このコードを実行した後に test.csv
を見ると、以下のようになっている。
$ cat $p/tmp/test.csv
1.000000000000000000e+00,2.000000000000000000e+00,3.000000000000000000e+00
4.000000000000000000e+00,5.000000000000000000e+00,6.000000000000000000e+00
7.000000000000000000e+00,8.000000000000000000e+00,9.000000000000000000e+00
numpy.savetxt
| NumPy v1.9 Manual
http://docs.scipy.org/doc/numpy/reference/generated/numpy.savetxt.html
numpy.loadtxt
| NumPy v1.9 Manual
http://docs.scipy.org/doc/numpy/reference/generated/numpy.loadtxt.html