Ich habe eine Reihe von Daten in einer Textdatei und ich möchte eine Häufigkeitstabelle basierend auf vordefinierten Wörtern (Laufwerk, Straße, ich, Leben) erstellen. unten ist das BeispielPython Word-Frequenzen mit vordefinierten Wörtern
ID | Text
---|--------------------------------------------------------------------
1 | i drive to work everyday in the morning and i drive back in the evening on main street
2 | i drive back in a car and then drive to the gym on 5th street
3 | Joe lives in Newyork on NY street
4 | Tod lives in Jersey city on NJ street
Hier ist, was ich, ich möchte als Ausgabe erhalten
ID | drive | street | i | lives
----|--------|----------|------|-------
1 | 2 | 1 | 2 | 0
2 | 2 | 1 | 1 | 0
3 | 0 | 1 | 0 | 1
4 | 0 | 1 | 0 | 1
Hier ist mein Code, ich verwende und i die Anzahl der Wörter zu finden, aber das löst nicht die Notwendigkeit für mich, und ich würde eine Reihe von vordefinierten Wörter verwenden, wie die Zählungen zu finden, wie oben
from nltk.corpus import stopwords
import string
from collections import Counter
import nltk
from nltk.tag import pos_tag
xy = open('C:\Python\data\file.txt').read().split()
q = (w.lower() for w in xy)
stopset = set(stopwords.words('english'))
filtered_words = [word for word in xyz if not word in stopset]
filtered_words = []
for word in xyz:
if word not in stopset:
filtered_words.append(word)
print(Counter(filtered_words))
print(len(filtered_words))
Warum haben Sie sowohl ein Listenverständnis als auch die manuelle Version direkt danach? –
Welche Ausgabe produziert der Code? –
Counter ({'street': 4, 'drive': 4, 'zurück': 2, 'lebt': 2, 'main': 1, 'morgen': 1, 'nj': 1, '5th': 1, 'tod': 1, 'täglich': 1, 'newyork': 1, 'trikot': 1, 'joe': 1, 'stadt': 1, 'sporthalle': 1, 'ny': 1, 'Auto': 1, 'Abend': 1, 'Arbeit': 1}) – RData