Heim >Backend-Entwicklung >Python-Tutorial >Python-Programm zum Ermitteln des Prozentsatzes der Worthäufigkeit

Python-Programm zum Ermitteln des Prozentsatzes der Worthäufigkeit

王林
王林nach vorne
2023-09-08 18:29:021862Durchsuche

Python-Programm zum Ermitteln des Prozentsatzes der Worthäufigkeit

In diesem Artikel erfahren Sie, wie Sie die Worthäufigkeit in Python als Prozentsatz ermitteln.

Angenommen, wir haben eine Liste von String-Eingaben erhalten. Jetzt ermitteln wir den Prozentsatz jedes Wortes in der angegebenen Liste der Eingabezeichenfolgen.

Formel

(Occurrence of X word / Total words) * 100

Anwendungsmethode

  • Verwenden Sie die Funktionen sum(), Counter(), join() und split()

  • Verwenden Sie die Funktionen join(), split() und count()

  • Verwenden Sie die Funktion countOf() des Operatormoduls.

Methode 1: Verwenden Sie die Funktionen sum(), Counter(), join() und split()

join() ist eine String-Funktion in Python, die verwendet wird, um durch String-Trennzeichen getrennte Sequenzelemente zu einem String zu verbinden.

Die Funktion

Counter() ist eine Unterklasse, die die Anzahl der hashbaren Objekte zählt. Beim Aufruf/Aufruf wird implizit eine Hash-Tabelle iterierbarer Objekte erstellt.

Algorithmus (Schritte)

Hier sind die Algorithmen/Schritte zum Ausführen der erforderlichen Aufgabe:

  • Verwenden Sie das Schlüsselwort import, um die Counter-Funktion aus dem Collection-Modul zu importieren.

  • Erstellen Sie eine Variable zum Speichern der Zeichenfolge „Eingabeliste“ und drucken Sie die Liste aus.

  • Verwenden Sie die Funktion
  • join()

    , um alle String-Elemente der Eingabeliste zu verbinden.

  • Teilen Sie die verkettete Zeichenfolge mit der Funktion
  • split()

    in eine Liste von Wörtern auf (teilen Sie die Zeichenfolge in eine Liste auf. Sie können das Trennzeichen definieren; das Standardtrennzeichen ist ein beliebiges Leerzeichen) und erhalten Sie die Wörter mit der Funktion Counter( ) Funktionshäufigkeiten als Schlüssel-Wert-Paare

  • Verwenden Sie die Funktion
  • values()

    , um alle Werte (Häufigkeit/Anzahl) vom Zähler abzurufen, und verwenden Sie die Funktion sum(), um deren Summe abzurufen (gibt die Summe aller Elemente im Iterable zurück).

  • Verwenden Sie die Funktion
  • items()

    , um den Prozentsatz jedes Wortes in den oben genannten Zählerwörtern zu ermitteln (gibt ein Ansichtsobjekt zurück, d. h. es enthält die Schlüssel-Wert-Paare des Wörterbuchs als Tupel in einer Liste).

  • Drucken Sie den Prozentsatz jedes Wortes in der Eingabeliste aus.
  • Die chinesische Übersetzung von
  • Beispiel
lautet:

Beispiel

Das folgende Programm gibt den Prozentsatz jedes Wortes in einer bestimmten Liste von Eingabezeichenfolgen mithilfe der Funktionen sum(), Counter(), join() und split() zurück –

# importing a Counter function from the collections module
from collections import Counter

# input list of strings
inputList = ["hello tutorialspoint", "python codes", "tutorialspoint for python", "see python codes tutorialspoint"]
print("Input list:\n", inputList)

# Joining all the string elements of the list using the join() function
join_string = " ".join(i for i in inputList)

# splitting the joined string into a list of words and getting the

# frequency of words as key-value pairs using Counter() function

counter_words = Counter(join_string.split())
# getting all the values(frequencies/counts) from counter and

# finding the total sum of them
total_sum = sum(counter_words.values())

# getting the percentage of each word from the above counter words
res_percentage = {key: value / total_sum for key,
value in counter_words.items()}

# printing the percentage of each word from the input list
print("Percentage of each word from the input list:\n", res_percentage)

Ausgabe

Bei der Ausführung generiert das obige Programm die folgende Ausgabe:

Input list:
['hello tutorialspoint', 'python codes', 'tutorialspoint for python', 'see python codes tutorialspoint']
Percentage of each word from the input list:
{'hello': 0.09090909090909091, 'tutorialspoint': 0.2727272727272727, 'python': 0.2727272727272727, 'codes': 0.18181818181818182, 'for': 0.09090909090909091, 'see': 0.09090909090909091}

Methode 2: Verwenden Sie die Funktionen join(), split() und count()

Algorithmus (Schritte)

Hier sind die Algorithmen/Schritte zum Ausführen der erforderlichen Aufgabe:

    Erstellen Sie ein leeres Wörterbuch, um den Ergebnisprozentsatz/die Begriffshäufigkeit zu speichern.
  • Verwenden Sie die
  • for-Schleife

    , um die Wortliste zu durchlaufen.

  • Verwenden Sie die
  • if-Bedingungsanweisung

    , um zu überprüfen, ob das aktuelle Element nicht im Schlüssel des Wörterbuchs enthalten ist. Verwenden Sie dazu die Funktion keys().

  • Wenn die obige Bedingung zutrifft, verwenden Sie die Funktion count(), um die Anzahl des Schlüssels (Wortes) zu ermitteln.
  • Teilen Sie es durch die Anzahl der Wörter, um die aktuelle Worthäufigkeit zu erhalten, und speichern Sie sie als Schlüssel im oben erstellten neuen Wörterbuch.
  • Drucken Sie den Prozentsatz jedes Wortes in der Eingabeliste aus.
  • Die chinesische Übersetzung von
  • Beispiel
lautet:

Beispiel

Das folgende Programm gibt den Prozentsatz jedes Wortes in einer bestimmten Liste von Eingabezeichenfolgen mithilfe der Funktionen „join()“, „split()“ und „count()“ zurück –

# input list of strings
inputList = ["hello tutorialspoint", "python codes", "tutorialspoint for python", "see python codes tutorialspoint"]

# joining all the elements of the list using join()
join_string = " ".join(i for i in inputList)

# splitting the joined string into a list of words
listOfWords = join_string.split()

# Creating an empty dictionary for storing the resultant percentages
resDict = dict()

# traversing through the list of words
for item in listOfWords:
   
   # checking whether the current element is not in the keys of a dictionary
   if item not in resDict.keys():
      
      # getting the percentage of a current word if the condition is true
      resDict[item] = listOfWords.count(item)/len(listOfWords)

# printing the percentage of each word from the input list
print("Percentage of each word from the input list:\n", resDict)

Ausgabe

Bei der Ausführung generiert das obige Programm die folgende Ausgabe:

Percentage of each word from the input list:
{'hello': 0.09090909090909091, 'tutorialspoint': 0.2727272727272727, 'python': 0.2727272727272727, 'codes': 0.18181818181818182, 'for': 0.09090909090909091, 'see': 0.09090909090909091}

Methode 3: Verwenden Sie die Funktion countOf() des Operatormoduls

Die chinesische Übersetzung von

Beispiel

lautet:

Beispiel

Das folgende Programm verwendet die Funktion countOf(), um den Prozentsatz jedes Wortes in einer bestimmten Liste von Eingabezeichenfolgen zurückzugeben –

import operator as op
# input list of strings
inputList = ["hello tutorialspoint", "python codes", "tutorialspoint for python", "see python codes tutorialspoint"]

# joining all the elements of list using join()
join_string = " ".join(i for i in inputList)

# splitting the joined string into list of words
listOfWords = join_string.split()
resDict = dict()
for item in listOfWords:
   
   # checking whether the current element is not in the keys of dictionary
   if item not in resDict.keys():
      resDict[item] = op.countOf(listOfWords,   item)/len(listOfWords)
print("Percentage of each word from the input list:\n", resDict)

Ausgabe

Bei der Ausführung generiert das obige Programm die folgende Ausgabe:

Percentage of each word from the input list:
{'hello': 0.09090909090909091, 'tutorialspoint': 0.2727272727272727, 'python': 0.2727272727272727, 'codes': 0.18181818181818182, 'for': 0.09090909090909091, 'see': 0.09090909090909091}

Fazit

In diesem Artikel haben wir drei verschiedene Python-Methoden zur Berechnung der prozentualen Worthäufigkeit kennengelernt. Wir haben auch gelernt, wie man die neue Funktion countOf() des Operatormoduls verwendet, um die Häufigkeit eines Listenelements zu ermitteln.

Das obige ist der detaillierte Inhalt vonPython-Programm zum Ermitteln des Prozentsatzes der Worthäufigkeit. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen