Maison  >  Article  >  développement back-end  >  Comment compter la fréquence des mots et trier par fréquence en Python ?

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

Barbara Streisand
Barbara Streisandoriginal
2024-10-21 21:39:03830parcourir

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>

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>

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!

Déclaration:
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