numpy > ファイル読み書き > np.save() / np.load() / np.savetxt() / np.loadtxt() > バイナリ読み書き / csv読み書き

More than 1 year has passed since last update.


動作環境

Ubuntu 14.04 TLS desktop amd64


numpyでのファイル読み書きを調べた。

参考 https://hydrocul.github.io/wiki/numpy/ndarray-io.html


バイナリ読み書き


fileIO.py

import numpy as np

x_data1 = np.random.rand(10,3).astype(np.float32)

np.save('test_x.npy', x_data1)

x_data2 = np.load('test_x.npy')

print(x_data1)
print(x_data2)



結果

$ python fileio.py [[ 0.84425318  0.69987315  0.3876062 ]

[ 0.31025144 0.45909852 0.48562685]
[ 0.83929896 0.80323225 0.99521893]
[ 0.22227153 0.96804965 0.45995703]
[ 0.74783921 0.48443237 0.56863761]
[ 0.06758564 0.25367704 0.30701843]
[ 0.20933156 0.38771868 0.81327569]
[ 0.64947814 0.36773711 0.32540786]
[ 0.08585044 0.92082411 0.78450251]
[ 0.51730436 0.69340336 0.64845133]]
[[ 0.84425318 0.69987315 0.3876062 ]
[ 0.31025144 0.45909852 0.48562685]
[ 0.83929896 0.80323225 0.99521893]
[ 0.22227153 0.96804965 0.45995703]
[ 0.74783921 0.48443237 0.56863761]
[ 0.06758564 0.25367704 0.30701843]
[ 0.20933156 0.38771868 0.81327569]
[ 0.64947814 0.36773711 0.32540786]
[ 0.08585044 0.92082411 0.78450251]
[ 0.51730436 0.69340336 0.64845133]]

作成されたファイルはバイナリ形式でlessでは見れない。

拡張子は.npyにするようだ。.datという拡張子にしたら.dat.npyというファイルが作成された。


csv読み書き

同じリンクにテキスト形式での読み書きが記載されていた。


fileIO_csv.py

import numpy as np

x_data1 = np.random.rand(10,3).astype(np.float32)

np.savetxt('test_x.csv', x_data1, delimiter=',')

x_data2 = np.loadtxt('test_x.csv', delimiter=',')

print(x_data1)
print(x_data2)



結果

$ python fileio_csv.py 

[[ 0.4589383 0.19229905 0.56762594]
[ 0.78595251 0.62296402 0.69180036]
[ 0.79244858 0.4788976 0.67316693]
[ 0.74409723 0.9375959 0.27137175]
[ 0.92335385 0.46055159 0.99533266]
[ 0.83741426 0.86077845 0.96400464]
[ 0.38847181 0.22187459 0.90489089]
[ 0.36801556 0.47473967 0.79495519]
[ 0.93096507 0.29290742 0.01023043]
[ 0.32679453 0.42028335 0.47830898]]
[[ 0.4589383 0.19229905 0.56762594]
[ 0.78595251 0.62296402 0.69180036]
[ 0.79244858 0.4788976 0.67316693]
[ 0.74409723 0.9375959 0.27137175]
[ 0.92335385 0.46055159 0.99533266]
[ 0.83741426 0.86077845 0.96400464]
[ 0.38847181 0.22187459 0.90489089]
[ 0.36801556 0.47473967 0.79495519]
[ 0.93096507 0.29290742 0.01023043]
[ 0.32679453 0.42028335 0.47830898]]


lessの実行

4.589383006095886230e-01,1.922990530729293823e-01,5.676259398460388184e-01

7.859525084495544434e-01,6.229640245437622070e-01,6.918003559112548828e-01
7.924485802650451660e-01,4.788976013660430908e-01,6.731669306755065918e-01
7.440972328186035156e-01,9.375959038734436035e-01,2.713717520236968994e-01
9.233538508415222168e-01,4.605515897274017334e-01,9.953326582908630371e-01
8.374142646789550781e-01,8.607784509658813477e-01,9.640046358108520508e-01
3.884718120098114014e-01,2.218745946884155273e-01,9.048908948898315430e-01
3.680155575275421143e-01,4.747396707534790039e-01,7.949551939964294434e-01
9.309650659561157227e-01,2.929074168205261230e-01,1.023042947053909302e-02
3.267945349216461182e-01,4.202833473682403564e-01,4.783089756965637207e-01
test_x.csv