Pynote

Python、機械学習、画像処理について

numpy - 配列をファイルに保存する、ファイルから読み込む

概要

numpy の配列をファイルに保存する、ファイルから読み込む関数を整理する。

一覧表

名前 説明
numpy.save .npy 形式で配列を保存する。
numpy.savetxt テキスト形式で配列を保存する。
numpy.savez .npz 形式で配列を保存する。
numpy.savez_compressed 圧縮した .npz 形式で配列を保存する。
numpy.load .npy、.npz または pickle 形式のファイルから配列を読み込む。

numpy.save

.npy 形式で配列を保存する。

関数

numpy.save(file, arr, allow_pickle=True, fix_imports=True)

a = np.arange(10)
np.save('test.npy', a)

data = np.load('test.npy')
print(data)  # [0 1 2 3 4 5 6 7 8 9]

numpy.savetxt

テキスト形式で配列を保存する。

関数

numpy.savetxt(fname, X, fmt='%.18e', delimiter=' ', newline='\n', header='', footer='', comments='# ', encoding=None)

a = np.array([[1, 2, 3],
              [4, 5, 6],
              [7, 8, 9]])

np.savetxt('test.txt', a)

fmt 引数で出力する際の書式を指定できる。

# 小数点以下2桁で出力する。
np.savetxt('test.txt', a, fmt='%.2f')

# 小数点以下なしで出力する。
np.savetxt('test.txt', a, fmt='%.0f')

delimiter 引数で区切り文字を指定できる。(デフォルトは空白)

# カンマ区切りで出力する。
np.savetxt('test.txt', a, delimiter=',')

numpy.savez

.npz 形式で配列を保存する。

関数

numpy.savez(file, *args, **kwds)

a = np.arange(10)
b = np.sin(a)
c = np.cos(a)

np.savez('test.npz', a, b, c)

numpy.savez_compressed

圧縮した .npz 形式で配列を保存する。

関数

numpy.save(file, arr, allow_pickle=True, fix_imports=True)

a = np.arange(10)
b = np.sin(a)
c = np.cos(a)

np.savez_compressed('test.npz', x=a, sin=b, cos=c)

numpy.load

.npy、.npz または pickle 形式のファイルから配列を読み込む。

関数

numpy.load(file, mmap_mode=None, allow_pickle=True, fix_imports=True, encoding='ASCII')

data = np.load('test.npz')
print(data['x'])
print(data['sin'])
print(data['cos'])
# [0 1 2 3 4 5 6 7 8 9]
# [ 0.          0.84147098  0.90929743  0.14112001 -0.7568025  -0.95892427
#  -0.2794155   0.6569866   0.98935825  0.41211849]
# [ 1.          0.54030231 -0.41614684 -0.9899925  -0.65364362  0.28366219
#   0.96017029  0.75390225 -0.14550003 -0.91113026]