Comment compter la fréquence des mots et trier par fréquence en Python ?

Barbara Streisand
Libérer: 2024-10-21 21:39:03
original
852 Les gens l'ont consulté

How to Count Word Frequency and Sort by Frequency in Python?

Comptage de la fréquence des mots et tri par fréquence

Lorsque vous travaillez avec de grands ensembles de données contenant des données textuelles, il est souvent nécessaire d'analyser la fréquence des mots individuels . Ces informations peuvent être utilisées pour diverses tâches de traitement du langage naturel (NLP). En Python, cette tâche peut être simplifiée à l'aide d'un outil puissant appelé Counter.

Mise en œuvre de la conception

Votre conception décrit les étapes suivantes :

  1. Créez une liste vide pour stocker des mots uniques (newlst).
  2. Créez une liste vide pour stocker les fréquences de mots correspondantes (fréquence).
  3. Parcourez la liste originale de mots.
  4. Pour chaque mot, vérifiez s'il est déjà dans le nouveau.
  5. Si le mot n'est pas dans le nouveau, ajoutez-le et définissez la fréquence sur 1.
  6. Si le mot est déjà dans le nouveau , incrémentez sa fréquence.
  7. Triez les nouveaux fichiers en fonction de la liste des fréquences.

Utilisation de Counter en Python

Le module de collections de Python fournit un classe appelée Counter, conçue pour compter et agréger des éléments dans des itérables. Counter nous permet d'effectuer les étapes 3 à 6 sur une seule ligne de code. Voici comment vous pouvez mettre en œuvre votre conception à l'aide de Counter :

<code class="python">from collections import Counter

# Create a Counter from the list of words
counts = Counter(original_list)

# Sort the keys (unique words) based on their frequencies
sorted_words = sorted(counts.keys(), key=lambda x: counts[x], reverse=True)</code>
Copier après la connexion

Ce code génère une liste triée de mots uniques, où le mot avec la fréquence la plus élevée apparaît en premier.

Exemple

<code class="python">list1 = ['the', 'car', 'apple', 'banana', 'car', 'apple']
counts = Counter(list1)
print(counts)  # Counter({'apple': 2, 'car': 2, 'banana': 1, 'the': 1})
sorted_words = sorted(counts.keys(), key=lambda x: counts[x], reverse=True)
print(sorted_words)  # ['apple', 'car', 'banana', 'the']</code>
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!