※この記事にはプロモーションが含まれています。

16. NumPyでベクトル・行列計算

NumPyでのファイル操作(テキスト・CSVファイルの読み込み・書き込み)

更新日:

NumPyによるndarrayへのファイル読み込み、ファイル書き込み方法はいくつかあります。
 

動画教材紹介私(清水 義孝)が作成したコース「Pythonによるビジネスに役立つWebスクレイピング」(Udemyへのリンク)が発売中!
発売数8,500本突破を記念して、今だけ期間限定で87%オフの大セール中!!!

ファイルの書き込み/読み込み(テキスト、csv形式)

csvを含むテキスト形式でのファイルの書き込みはsavetxt、データの読み込みはloadtxtを利用します。記述方法は次のようになります。

テキスト形式でのファイルの書き込み

numpy.savetxt('ファイル名', ndarray配列 [,delimiter = '区切り文字' ])

 
テキスト形式でのファイルの読み込み

numpy.loadtxt('ファイル名', ndarray配列[,delimiter = '区切り文字' ])

 
引数の'ファイル名'には、テキストファイルの場合、'ファイル名.txt'として、csvファイルの場合、'ファイル名.csv'とします。また引数のdelimiterでは、各要素間の区切り文字を指定します。指定は任意です。
 

例として、配列arrに1~6までの数値を格納し、savetxtでファイルに書き込み、その内容をloadtxtで読み込み、再度、配列arrの内容を表示してみましょう。

In [5]: arr=np.arange(1, 7)
...: np.savetxt('mytextarray.txt',arr,delimiter=',')
...: arr=np.loadtxt('mytextarray.txt',delimiter=',')
...: arr
Out[5]: array([[ 1., 2., 3.],
                      [ 4., 5., 6.]])

 
 

ファイルの書き込み/読み込み(バイナリ形式)

一方で、バイナリ形式(2進数などテキスト形式(文字データ)以外のデータ形式)でのファイルの書き込みはsave、データの読み込みはloadを利用します。またファイルの拡張子はnpyである必要があります。

次のように記述します。

バイナリ形式でのファイル書き込み

numpy.save('ファイル名', ndarray配列)

バイナリ形式でのファイル読み込み

numpy.load('ファイル名')

 

例として、ndarrayの配列arrを作成し、saveにてファイルに書き込み、配列arrの内容を変更した後に、loadで書き込んだデータを読み込み、再度配列arrに格納してみましょう。そして、配列arrに、先ほど書き込んだデータが正しく読み込まれているかを確認しましょう。

 

まずは配列arrに0~4までの数値を格納します。

In [1]: arr = np.arange(5)
...:
Out[1]: array([0, 1, 2, 3, 4])

 

0~4までの数値を格納した配列arrをファイルmyarray.npyに書き込みます。

In [2]: np.save('myarray.npy',arr)

 

そして配列arrの内容を0~9までの数値に変更します。

In [3]: arr=np.arange(10)
...: arr
Out[3]: array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

 

配列arrに対して先ほど書き込んだファイルmyarray.npyの内容を読み込みまず。そして配列arrの内容を確認すると、書き込んだファイルが正しく読み込まれ、0~4までの数値を格納したndarray型の配列が表示されました。

In [4]: np.load('myarray.npy')
Out[4]: array([0, 1, 2, 3, 4])

 

 
 
著書の紹介です。

 

 
 
 
最後に...


Pythonの学習においては、実際に様々なプログラムを書いて試していくことが非常に重要です。Pythonについて、さらに詳しく学ばれたい方は、以下の私のUdemy講座をご検討いただければ幸いです。


Pythonを用いて世界中のWebサイトから自動的にデータ収集する方法を、基礎からていねいに学ぶことができます。Pythonを初めて学ばれた方も、最初に取り組みやすい内容になっています。


>> Pythonによるビジネスに役立つWebスクレイピング
発売数8,500本突破を記念して大セール中!期間限定になりますのでお早めに。
Pythonによるビジネスに役立つWebスクレイピング(BeautifulSoup、Selenium、Requests)講座の画面

既に8,500名以上の方に受講頂き、大変好評です。またコースに満足いただけない場合でも、30日返金保証があるので安心です。

期間限定の割引クーポンは、こちらから!
>> Pythonによるビジネスに役立つWebスクレイピング
   
   





-16. NumPyでベクトル・行列計算

Copyright© ビジPy , 2024 All Rights Reserved.