はじめに
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
import numpy as np data = np.loadtxt("test.csv", delimiter=",", skiprows=1, usecols=(1,2,3) ) keys = [(data[i:i+1,0:1],data[i:i+1,1:2]) for i in range(0,10)] values = [data[i:i+1,2:3] for i in range(0,10)] dicts={} for i in keys: for x in values: dicts[i] = x print(dicts)
test.csvは以下の通りです。
まだ回答がついていません
会員登録して回答してみよう