Ich habe ein Wörterbuch, dessen Werte Matrizen sind, und seine Schlüssel sind die häufigsten Wörter in der Zugdatei. Ich habe eine Testdatei, ich muss sehen, ob die Wörter in jeder Zeile davon im Wörterbuch sind, sie erhalten ihre Werte, die Matrizen sind und addieren die Matrizen und teilen sie dann auf die Anzahl der Wörter. Die Antwort sollte eine Matrix sein. Ich habe versucht "sum (val)", aber es fügt sie nicht zusammen. Wie kann ich es tun? (Die Datei enthält einen persischen Satz, eine Registerkarte und dann ein englisches Wort). Die Ausgabe des Wörterbuchs ist so ähnlich wie unten:Wie man Matrizen als Werte in einem Wörterbuch hinzufügt?
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))/
gibt es diesen Fehler: Attribute: ' Tupel 'Objekt hat kein Attribut' Summe ' – sara
ok, ich sehe die Werte sind Tupel mit einem Element. Dann ist es 'val [0] .sum()'. Aber warum haben Sie eine Zip (Array) in der Erstellung Ihres Wörterbuchs? Ich denke 'dict (zip (keys, array))' ist genug. –
danke für deine Antwort, aber es gibt -1.37638192047 -1.05146222424 zurück, was nicht die richtige addierende Nummer ist. Die richtige Antwort sollte [-2.2269, -0.2008] sein. Wie kann ich darauf zugreifen? – sara