Heim >Backend-Entwicklung >Python-Tutorial >Zählen Sie die Wortfrequenz in einer Datei mit Python

Zählen Sie die Wortfrequenz in einer Datei mit Python

Jennifer Aniston
Jennifer AnistonOriginal
2025-03-06 11:59:11667Durchsuche

Dieses Tutorial zeigt, wie Sie das Hauptthema eines Dokuments schnell bestimmen, indem Sie die Wortfrequenz mithilfe von Python analysieren. Das manuelle Zählen von Wortvorkommen ist mühsam; Dieser automatisierte Ansatz vereinfacht den Prozess.

Wir verwenden eine Beispieltextdatei, test.txt (Laden Sie sie herunter, aber schauen Sie nicht!), Um zu veranschaulichen. Ziel ist es, das Thema des Tutorials anhand der Wortfrequenz zu erraten.

Verständnis regulärer Ausdrücke

Dieser Prozess verwendet reguläre Ausdrücke (REGEX). Wenn sie unbekannt sind, ist ein Regex eine Zeichensequenz, die ein Suchmuster für die String -Matching definiert (wie "Finden und Ersetzen"). Für einen tieferen Tauchgang finden Sie ein dediziertes Regex -Tutorial.

Erstellen des Programms

  1. Lesen Sie die Datei: Das Programm beginnt mit dem Lesen der Textdatei in eine Zeichenfolge:

    document_text = open('test.txt', 'r')
    text_string = document_text.read().lower()
  2. Regelmäßiger Ausdruck: a Regex filtert Wörter mit 3 bis 15 Zeichen:

    match_pattern = re.findall(r'\b[a-z]{3,15}\b', text_string)
  3. Wortfrequenz: Ein Wörterbuch verfolgt die Wortfrequenzen:

    frequency = {}
    for word in match_pattern:
        count = frequency.get(word, 0)
        frequency[word] = count + 1
  4. Ausgabe: Das Programm druckt dann jedes Wort und seine Frequenz:

    frequency_list = frequency.keys()
    for word in frequency_list:
        print(word, frequency[word])

Vollständiges Programm

Hier ist der kombinierte Python -Code:

import re

frequency = {}
document_text = open('test.txt', 'r')
text_string = document_text.read().lower()
match_pattern = re.findall(r'\b[a-z]{3,15}\b', text_string)

for word in match_pattern:
    count = frequency.get(word, 0)
    frequency[word] = count + 1

frequency_list = frequency.keys()
for word in frequency_list:
    print(word, frequency[word])

Ausführen Dies gibt eine Wortfrequenzliste aus. Das häufigste Wort weist auf das Thema des Original -Tutorials hin.

Counting Word Frequency in a File Using Python

Bearbeitung größerer Textdateien

Für größere Dateien vereinfacht das Sortieren des Frequenzwörterbuchs das Finden der häufigsten Wörter:

import re

frequency = {}
document_text = open('dracula.txt', 'r')  # Example: dracula.txt
text_string = document_text.read().lower()
match_pattern = re.findall(r'\b[a-z]{3,15}\b', text_string)

for word in match_pattern:
    count = frequency.get(word, 0)
    frequency[word] = count + 1

most_frequent = dict(sorted(frequency.items(), key=lambda elem: elem[1], reverse=True))
most_frequent_count = most_frequent.keys()

for word in most_frequent_count:
    print(word, most_frequent[word])

Dies gibt eine sortierte Liste aus, wobei die häufigsten Wörter zuerst angezeigt werden.

Counting Word Frequency in a File Using Python

Ausschließen gemeinsamer Wörter

Um die Analyse zu verfeinern, schließen Sie gemeinsame Wörter wie "The" und, "usw. mit einer schwarzen Liste aus:

import re

frequency = {}
document_text = open('dracula.txt', 'r')
text_string = document_text.read().lower()
match_pattern = re.findall(r'\b[a-z]{3,15}\b', text_string)

blacklisted = ['the', 'and', 'for', 'that', 'which']

for word in match_pattern:
    if word not in blacklisted:
        count = frequency.get(word, 0)
        frequency[word] = count + 1

most_frequent = dict(sorted(frequency.items(), key=lambda elem: elem[1], reverse=True))
most_frequent_count = most_frequent.keys()

for word in most_frequent_count:
    print(word, most_frequent[word])

Dies liefert eine fokussiertere Analyse.

Counting Word Frequency in a File Using Python

Dieses erweiterte Python -Skript bietet eine robuste Methode zur Analyse von Text und zur Identifizierung von Schlüsselthemen basierend auf der Worthäufigkeit. Denken Sie daran, die Kriterien der schwarzen Liste und der Wortlänge an Ihre spezifischen Anforderungen anzupassen.

Das obige ist der detaillierte Inhalt vonZählen Sie die Wortfrequenz in einer Datei mit Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Fehlerhandhabung und Anmeldung in PythonNächster Artikel:Keiner