PythonのCounterで単語の出現回数をカウントする方法
スポンサーリンク
このドキュメントの内容は、以下の通りです。
はじめに
Python で一番多く出現する単語を選ぶプログラムを書きました。スクリプト言語で、テキスト処理を書かれる方は多いのではないでしょうか。手動でやると3時間ぐらいかかるけど、自動化すれば、楽になれると思ったのは、プログラムを作る前のことで、実際には、手でやるほうが早かったという結論に至りました。しかしながら、2度、3度、ということになれば、自動化が圧倒的に優位です。プログラムは、以下の機能を必要とします。
- 単語の出現した回数をカウントする
- 一番多く出現した単語を探す
Counter入門
python で Counter を使用する例を見てみましょう。$ python >>> from collections import Counter >>> c1 = Counter(['a', 'a', 'b', 'c', 'c', 'a']) >>> c1 Counter({'a': 3, 'c': 2, 'b': 1})
この例では、Counter のインスタンスを作成するときに、初期値として単語のリスト(配列)を与えています。
1つ1つ単語を追加して、カウントアップしていく方法は以下の通りです。
>>> c2 = Counter() >>> c2['a'] += 1 >>> c2['a'] += 1 >>> c2['b'] += 1 >>> c2['c'] += 1 >>> c2['a'] += 1 >>> c2 Counter({'a': 3, 'b': 1, 'c': 1})
出現回数が多いものを調べる方法
さて、出現回数の多い単語を調べる方法ですが most_common というメソッドを使うことで調べられます。引数に必要な個数をセットすると、個数分の配列が返ってきます。
>>> c1 = Counter(['a', 'a', 'b', 'c', 'c', 'a']) >>> c1.most_common() [('a', 3), ('c', 2), ('b', 1)] >>> c1.most_common(2) [('a', 3), ('c', 2)] >>> c1.most_common(1) [('a', 3)]
ここでの例は、 a が一番多いのですが、a という結果を得るためには、このような方法で取得できます。
>>> c1.most_common(1)[0][0] 'a'
もちろん出現回数も取得できます。
>>> c1.most_common(1)[0][1] 3
Counterが空であるかを確認する方法
Counter にデータが入っているかどうかを調べるには、空の辞書と比較することで確認することができます。
>>> c3 = Counter() >>> c3 == {} True
文字の出現回数をカウントする方法
単語ではなく、単語の文字をカウントすることもできます。
>>> c4 = Counter('abcabcaaabcz') >>> c4 Counter({'a': 5, 'b': 3, 'c': 3, 'z': 1}) >>> c4.most_common(1) [('a', 5)]
まとめ
- がんばって実装しない
- すでに実装が用意されている
- 自動化は正義
スポンサーリンク
スポンサーリンク
いつもシェア、ありがとうございます!
もっと情報を探しませんか?
関連記事
最近の記事
- パナソニック ジェットウォッシャードルツ EW-DJ61-Wのホースの修理
- LinuxセキュリティモジュールIntegrity Policy Enforcement
- アマゾンのEcho Show 5を買ったのでレビューします
- アマゾンのサイバーマンデーはAlexa Echo Show 5が安い
- Android スマートフォン OnePlus 7T と OnePlus 7の違い
- Android スマートフォン OnePlus 7 をAndroid10にアップデートしてみた
- クレジットカードのバーチャルカードの比較のまとめ
- 活動量計 Xiaomi Mi Band 4を買ってみたのでレビュー
- Android スマートフォン OnePlus 7 のレビュー
- AliExpressでスマートフォンを買い物してみた
- パソコンのホコリ対策 レンジフードフィルターと養生テープ
- 80PLUS GOLDのPC電源ユニットAntec NeoEco 750 Goldのレビュー
- イギリスの付加価値税 VAT は払い戻しを受けられる
- イギリスのロンドンでスーツケースなど荷物を預けられる場所は
- イギリスのロンドンで地下鉄やバスに乗るならオイスターカードを使おう
- イギリスのヒースロー空港からロンドン市内への行き方
- 航空便でほかの航空会社に乗り継ぎがある場合のオンラインチェックイン
- SFC会員がANA便ではなくベトナム航空のコードシェアを試して解ったこと
- ベトナムの入国審査でeチケットの掲示が必要だった話
- シアトルの交通ICカードはオルカカード(Orca)です
人気のページ
- Windows7 IME 辞書ツールで単語の登録に失敗しました
- C言語 popen()でコマンドを実行して出力を読み込む
- Windows7で休止状態にする方法
- CentOS MySQLの起動、停止、再起動
- loggerコマンドでsyslogにエラーを出力する方法
- パソコンパーツの買取をしてくれる店のまとめ
- Java Mapの使い方 get(),put(),remove(),size(),clear()
- 楽天のRポイントカードを作ってみた
- iPhone 5 から iPhone 6 に乗り換えたのでレビュー
- netstatコマンドのステータスの意味
スポンサーリンク
過去ログ
2020 : 01 02 03 04 05 06 07 08 09 10 11 122019 : 01 02 03 04 05 06 07 08 09 10 11 12
2018 : 01 02 03 04 05 06 07 08 09 10 11 12
2017 : 01 02 03 04 05 06 07 08 09 10 11 12
2016 : 01 02 03 04 05 06 07 08 09 10 11 12
2015 : 01 02 03 04 05 06 07 08 09 10 11 12
2014 : 01 02 03 04 05 06 07 08 09 10 11 12
2013 : 01 02 03 04 05 06 07 08 09 10 11 12
2012 : 01 02 03 04 05 06 07 08 09 10 11 12
2011 : 01 02 03 04 05 06 07 08 09 10 11 12
2010 : 01 02 03 04 05 06 07 08 09 10 11 12
2009 : 01 02 03 04 05 06 07 08 09 10 11 12
2008 : 01 02 03 04 05 06 07 08 09 10 11 12
2007 : 01 02 03 04 05 06 07 08 09 10 11 12
2006 : 01 02 03 04 05 06 07 08 09 10 11 12
2005 : 01 02 03 04 05 06 07 08 09 10 11 12
2004 : 01 02 03 04 05 06 07 08 09 10 11 12
2003 : 01 02 03 04 05 06 07 08 09 10 11 12