【NumPy】ndarrayをファイルに保存(np.save)、また読み込みする方法(np.load)[Python]

  • URLをコピーしました!
目次

NumPy

前回、PythonのNumPyでndarrayを連結する方法(np.concatenate)を紹介しました。

今回はNumPyでndarrayをファイルに保存(np.save)、また読み込みする方法(np.load)を紹介します。

それでは始めていきましょう。

ndarrayをファイルに保存:np.save

保存するファイルをNumPyのrandomモジュールを使ってこんな感じに準備してみました。

import numpy as np

rng = np.random.default_rng(123)

a = rng.random([10, 10])

print(a)

実行結果
[[0.68235186 0.05382102 0.22035987 0.18437181 0.1759059  0.81209451
  0.923345   0.2765744  0.81975456 0.88989269]
 [0.51297046 0.2449646  0.8242416  0.21376296 0.74146705 0.6299402
  0.92740726 0.23190819 0.79912513 0.51816504]
 [0.23155562 0.16590399 0.49778897 0.58272464 0.18433799 0.01489492
  0.47113323 0.72824333 0.91860049 0.62553401]
 [0.91712257 0.86469025 0.21814287 0.86612743 0.73075194 0.27786529
  0.79704355 0.86522171 0.2994379  0.52704208]
 [0.07148681 0.58323841 0.2379064  0.76496365 0.17363164 0.31274226
  0.01447448 0.03255192 0.49670184 0.46831253]
 [0.12769032 0.2575625  0.00318111 0.38106775 0.57587308 0.42729877
  0.83510235 0.61649125 0.26608391 0.81102211]
 [0.49948675 0.75881032 0.56608909 0.43744036 0.39615444 0.02223529
  0.46935079 0.6235584  0.94611342 0.43532608]
 [0.4856414  0.51911514 0.40859098 0.57879572 0.07035067 0.48838383
  0.61014483 0.74387911 0.42983032 0.30280213]
 [0.00589003 0.75647897 0.07757597 0.48998804 0.3043611  0.84082216
  0.95047586 0.31887458 0.89776829 0.33752905]
 [0.81211211 0.7988436  0.65528518 0.22870345 0.13767446 0.42437114
  0.15153875 0.87327295 0.17912676 0.03029466]]

ndarrayをファイルに保存するには「np.save(“ファイルパス”, ndarray)」とします。

import numpy as np

rng = np.random.default_rng(123)

a = rng.random([10, 10])

np.save("python-numpy-33-1", a)

実行結果

実行結果に何も表示されませんが、このPythonファイルと同じフォルダに「python-numpy-33-1.npy」というファイルが作成されていると思います。

このファイルが先ほどのndarrayを保存したファイルになります。

拡張子は「.npy」でファイルパスを指定する際にはつけてもいいですし、つけなかったら勝手に追加されます。

ちなみにndarrayを保存したファイルはテキストエディタなどで開いても文字化けして読めません。

.npyファイルを読み込み:np.load

次に保存したファイルを読み込みますが、その際には「np.load(“ファイルパス”)」とします。

読み込む場合に指定するファイルパスには拡張子「.npy」は必要ですのでご注意ください。

import numpy as np

b = np.load("python-numpy-33-1.npy")

print(b)

実行結果
[[0.68235186 0.05382102 0.22035987 0.18437181 0.1759059  0.81209451
  0.923345   0.2765744  0.81975456 0.88989269]
 [0.51297046 0.2449646  0.8242416  0.21376296 0.74146705 0.6299402
  0.92740726 0.23190819 0.79912513 0.51816504]
 [0.23155562 0.16590399 0.49778897 0.58272464 0.18433799 0.01489492
  0.47113323 0.72824333 0.91860049 0.62553401]
 [0.91712257 0.86469025 0.21814287 0.86612743 0.73075194 0.27786529
  0.79704355 0.86522171 0.2994379  0.52704208]
 [0.07148681 0.58323841 0.2379064  0.76496365 0.17363164 0.31274226
  0.01447448 0.03255192 0.49670184 0.46831253]
 [0.12769032 0.2575625  0.00318111 0.38106775 0.57587308 0.42729877
  0.83510235 0.61649125 0.26608391 0.81102211]
 [0.49948675 0.75881032 0.56608909 0.43744036 0.39615444 0.02223529
  0.46935079 0.6235584  0.94611342 0.43532608]
 [0.4856414  0.51911514 0.40859098 0.57879572 0.07035067 0.48838383
  0.61014483 0.74387911 0.42983032 0.30280213]
 [0.00589003 0.75647897 0.07757597 0.48998804 0.3043611  0.84082216
  0.95047586 0.31887458 0.89776829 0.33752905]
 [0.81211211 0.7988436  0.65528518 0.22870345 0.13767446 0.42437114
  0.15153875 0.87327295 0.17912676 0.03029466]]

次回はNumpyで多次元のndarrayやリストを一次元にする方法を紹介します。

ではでは今回はこんな感じで。

よかったらシェアしてね!
  • URLをコピーしました!

コメント

コメントする

目次