PythonでNumPy配列ndarrayを辞書に変換してみます。
■Python
今回のPythonのバージョンは、「3.8.5」を使用しています。(Windows10)(pythonランチャーでの確認)
■NumPy配列ndarrayを辞書に変換する
では、早速NumPy配列ndarrayを辞書に変換するスクリプトを書いていきます。
■コード
import numpy as np array_test = np.array([['田中','佐藤','杉元'], ['村山','岡本','松本'], ['山内','竜崎','三澤']]) dictionary = dict(enumerate(array_test.flatten(),1)) print(array_test) print(type(array_test)) print("\n") print(dictionary) print(type(dictionary))
NumPy配列ndarrayを辞書に変換するためには、今回array_testという変数を作成し、その中で、np.array()を使用し、NumPy配列の作成します。配列の要素には今回文字列を入れて、格納します。
格納後、dictionaryという変数を作成し、その中で、array_test変数に格納したNumPy配列に対して、flatten()関数を使用し、NumPy配列を1次元配列に変換します。変換し、enumerate()関数を使用し、インデックス番号と変換した1次元配列の要素を取り出します。この時に括弧内の第2の引数で、取り出した1次元配列の要素のインデックスを「1」から割り当てるように変更します。
なお、enumerate()関数を使用すると、デフォルトでは、インデックス値は「0」から始まります。
そして最後に、dict()関数を使用し、取り出した要素を辞書に変換し、格納します。
最後に、array_testという変数と、dictionaryという変数の情報をprint関数で出力します。また、辞書に変換されているか確認するため、type()関数を使用し、型の取得と出力を行います。
■実行
このスクリプトを「np_array_d.py」という名前で保存し、コマンドプロンプトから実行してみます。
実行してみると、今回作成したNumPy配列が、辞書に変換されて出力されました。型も「<class ‘numpy.ndarray’>(多次元配列型)」から「<class ‘dict’>(辞書型)」に変更されていることが確認できました。
コメント