2017-11-15 2 views

Antwort

0

Nach ein bisschen suchen, es sieht so aus, als ob Sie das wollen - es ist nicht die lesbarste, aber es könnte funktionieren.

top_3 = [t[0] for t in 
     sorted([(word, i, j) for j, text in enumerate(texts) for i, word in enumerate(text)], 
       key=lambda t: tfidf[t[2]][t[1]])[:3]] 

Ich nehme Worte aus den Texten und behalten ihre Reihe (wie i) und Spalte (als j) mit einem Tupel der Form (word, i, j). Ich sortiere die Wörter dann anhand ihres Wertes in tfidf. Ich nehme dann die Top 3 (mit [:3]) und nehme das Wort aus dem Tupel mit t[0] for t in ....

Dies kann leicht geändert werden, um eine beliebige Anzahl der Wörter in der richtigen Reihenfolge zu speichern.

Verwandte Themen