Ich habe alles fast sortiert, aber weil ich die Top 2k einzigartige Wörter will, bekomme ich eine super durcheinander Verteilung. Ich werde es schließlich verwenden, um ein Wörterbuch zu erstellen, aber ich möchte sehen, welche die häufigsten 2k Wörter sind, so dass ich die passenden für das Wörterbuch wählen kann. Wie auch immer, siehe Code unten. Wie ändere ich, um eine Liste zu erhalten, in der ich (Wort) (Anzahl) sehe? Muss nicht auf 2k beschränkt werden, wäre es nett zu sehen, für alle zu zählen? Vielen Dank!drucken Begriff Häufigkeitsliste (haben Verteilung)
>>> fileObj = codecs.open("/Users/shannonmcgregor/Desktop/ALLstories.txt", "r", "Latin-1")
chattanooga_stories = fileObj.read()
>>> import nltk
from nltk.corpus import stopwords
>>> lowered_stories = chattanooga_stories.lower()
>>> word_list = lowered_stories.split()
>>> filtered_stories = [w for w in word_list if not w in stopwords.words('english')]
>>> fdist = nltk.FreqDist(w.lower() for w in filtered_stories)
>>> print(fdist)
<FreqDist with 7031 samples and 19893 outcomes>
>>> top_2k = [ ]
>>> top_2k = fdist.most_common(2000)
>>> fdist.plot(2000, cumulative=True)
Sie können auch Interpunktion entfernen. –
Bearbeiten Sie Ihre Frage, um die Ausgabe (nur einen kleinen Teil) anzuzeigen. Ich nahm an, es war ein Diktat. –