文字列になったNumPy配列をNumPy配列として扱えるようにするPythonプログラム

テキストファイルに保存して、文字列になったNumPy配列を数字データにしてから、NumPy配列として扱えるようにするPythonプログラムを紹介します。


他にテキストファイルについて投稿しているのがこちら↓
Pythonでテキストファイルの書き込み、読み込み、追記について



目次

・テキストファイルに文字列を書き込む(保存)

・文字列をNumPy配列として扱えるようにするプログラム



テキストファイルに文字列を書き込む(保存)

0~17の数字で3行6列のNumPy配列を作成して、テキストファイルに保存しています。

NumPy配列をそのままテキストファイルに保存できないので、str関数文字列に変換しています。

実行結果

テキストファイル(メモ帳)に保存された様子

文字列をNumPy配列として扱えるようにするプログラム

プログラムの説明をします。

5,6行目はテキストファイルから文字列になったNumPy配列を読み込んでいます
このNumPy配列を構成する文字列のデータは数字や記号、スペース、改行コードなど、すべてのデータが文字になっています。また、10や11など2桁の数字は“1”,”0″のように数字同士が分かれた文字になっています。

16行目のfor文は文字の個数の数繰り返します。

20行目から31行目は文字になった数字整数にして、リストに追加しています。

36行目はリストをNumPy配列に変換しています。

テキストファイルから読み込んだ文字列を直接、NumPyモジュールのarray関数を使って、NumPy配列に変換することはできるのですが、外側がNumPy形式になっているだけで、内側のデータはNumPy形式にならないです。

実行結果

41行目のprint(np_d[0])で、要素番号0のデータ[0 1 2 3 4 5]が取り出せています。

文字列の場合だと[0 1 2 3 4 5]は取り出せないです。