ホームページ >バックエンド開発 >Python チュートリアル >Pythonで単語の頻度をカウントし、頻度で並べ替える方法は?

Pythonで単語の頻度をカウントし、頻度で並べ替える方法は?

Barbara Streisand
Barbara Streisandオリジナル
2024-10-21 21:39:03936ブラウズ

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

単語の頻度のカウントと頻度による並べ替え

テキスト データを含む大規模なデータセットを操作する場合、多くの場合、個々の単語の頻度を分析する必要があります。 。この情報は、さまざまな自然言語処理 (NLP) タスクに使用できます。 Python では、Counter と呼ばれる強力なツールを使用してこのタスクを簡素化できます。

設計の実装

設計の概要は次の手順です:

  1. 一意の単語 (newlst) を保存する空のリストを作成します。
  2. 対応する単語の頻度 (頻度) を保存する空のリストを作成します。
  3. 元の単語のリストを繰り返します。
  4. 各単語について、それがすでに newlst にあるかどうかを確認します。
  5. 単語が newlst にない場合は、それを追加し、頻度を 1 に設定します。
  6. 単語がすでに newlst にある場合
  7. 頻度リストに基づいて新しいリストを並べ替えます。

Python でのカウンターの使用

Python のコレクション モジュールは、特殊なCounter と呼ばれるクラス。反復可能な要素をカウントして集計するために設計されています。 Counter を使用すると、ステップ 3 ~ 6 を 1 行のコードで実行できます。 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>

このコードは、最も頻度の高い単語が最初に表示される、一意の単語の並べ替えリストを生成します。

<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>

以上がPythonで単語の頻度をカウントし、頻度で並べ替える方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。