はじめに
pythonでタプルを用いた辞書の作成を試みているのですが、エラーが起こり、作成できません。
恐れ入りますが、エラーの改善方法をご教授下さりますと幸いに存じます。
何卒よろしくお願い申し上げます。
実現したいこと
現在、グラフ理論を勉強しており、その過程で以下のような辞書を作成しております。
dicts = {(i_1,j_1):length_1, (i_2,j_2):length_2,..., (i_10,j_10):length_10} i:出発するnode j:到着するnode length:iとjの間の距離
具体的には、添付しておりますtest.csvの数値を代入し、以下のような辞書を作成を目指しております。
dicts = {(2,20):100, (4,18):200,..., (20,2):1000}
試したこと・発生している問題(エラーメッセージ)
該当のソースコードを実行しますと、以下のようなエラーを出力します。
エラーをネットで調べてみたのですが理解できませんでした。
numpyに問題があるようですがどうしてもnumpyを使用したく、他のデータを読み込む方法(pandas等)は試しておりません。
TypeError: unhashable type: 'numpy.ndarray'
該当のソースコード
辞書の作成を目指し、以下のようなプログラムを組みました。
python
1import numpy as np 2 3data = np.loadtxt("test.csv", 4 delimiter=",", 5 skiprows=1, 6 usecols=(1,2,3) 7 ) 8 9keys = [(data[i:i+1,0:1],data[i:i+1,1:2]) for i in range(0,10)] 10values = [data[i:i+1,2:3] for i in range(0,10)] 11 12dicts={} 13for i in keys: 14 for x in values: 15 dicts[i] = x 16 print(dicts)
test.csvは以下の通りです。
回答2件
あなたの回答
tips
プレビュー