2017-01-18 2 views
0

私はその値が行列であり、そのキーが列車ファイルの最も頻繁な単語である辞書を持っています。私はテストファイルを持っていますが、その各行の単語が辞書に入っているかどうかを確認しなければなりません。その値は行列であり、行列を加えて単語の数に割ります。答えは1つの行列でなければなりません。私は "sum(val)"を試しましたが、一緒に追加しません。どうしたらいいですか? (このファイルには、ペルシア語の文、タブ、そして英語の単語が含まれています)。辞書の出力は以下の通りなどである:行列を辞書の値として追加する方法は?

enter image description here

keys = [p[0] for p in freq.most_common(4)]    
array = numpy.array([[wordVector[0,:]] , [wordVector[1,:]], [wordVector[2,:]], [wordVector[3,:]]]) 
dic = dict(zip(keys, zip(array))) 
#print (dic) 

# test part 
with open ("test2.txt", encoding = "utf-8") as f2: 
    for line in f2: 
     line = line.split("\t") 
     lin = line[0].split() 
     for i in lin: 
      for key, val in dic.items(): 
       if i == key: 
        print ((sum(val))/ 

答えて

0

valnumpy.arrayであり、あなたは合計()関数を使用することができます:val.sum()

+0

このエラーがあります:はAttributeErrorが 'タプル 'オブジェクトには属性' sum 'がありません。 – sara

+0

大丈夫です。値が1つの要素を含むタプルであることがわかります。それは 'val [0] .sum()'です。しかし、なぜあなたは辞書の作成にzip(配列)を持っていますか?私は 'dict(zip(keys、array))'で十分だと思います。 –

+0

答えていただきありがとうございますが、-1.37638192047 -1.05146222424が正しく加算されていません。正解は[-2.2269、-0.2008]でなければなりません。どうすればそれにアクセスできますか? – sara

関連する問題