Python

Python初学者向け:リストの各要素の出現回数をカウントする方法を基本から解説

スポンサーリンク

 

この記事はこんな方におススメです
  • データ分析をはじめたいが、どのように学習を進めればよいかわからない方
  • データ分析の基本的な部分の全体像を把握しておきたい方
  • データ分析の勉強を始めたが、進め方に迷っている方

▶ 初学者向けにPythonを使ったデータ分析に役立つ記事を書いています

はじめに

今回はPythonでリストの各要素の出現回数を取得する方法を基本から解説します。リストの要素数を確認する際にはlen()を使いますが、リストの各要素の出現回数はどうでしょうか?データ分析プロセスの初期段階でおこなうEDAでよく使いますよね。さっそく見ていきましょう。

リストの各要素の個数をカウントする

次のようなサンプルデータで考えましょう。

list_animals = ['らくだ', 'ねこ', 'しまうま', 'らくだ', 'しまうま', 'ぱんだ', 'らいおん', 'しまうま']

count()メソッドを使う

まずはcount()メソッドを使う方法です。count()メソッドでは、指定したリストの要素の個数を数えることができます。たとえば、list_animalsの「らくだ」の出現回数を数えるなら次のようにします。

# 「らくだ」の出現回数を数える
list_animals.count('らくだ')

指定した要素を数えてくれるので、for文と組み合わせれば次のように要素ごとにその出現回数を数えることができます。

# 要素ごとの出現回数を数える
for name in set(list_animals):
    print(name,list_animals.count(name))
(output)
ねこ 1
らくだ 2
しまうま 3
ぱんだ 1
らいおん 1

collections.Counterを使う

次に、Python標準ライブラリcollectionsのCounterクラスを使う方法です。collections.Counter()にリストやタプルを渡すと、各要素の個数が返ってきます。

# 各要素の個数をカウント
collections.Counter(list_animals)
(output)
Counter({'しまうま': 3, 'らくだ': 2, 'ねこ': 1, 'ぱんだ': 1, 'らいおん': 1})

このように各要素の個数が返ってきますが、「Counterオブジェクト」という形式で返ってきます。これはキーに要素、値に出現回数という形になっています。

このCounterオブジェクトは辞書のようにkeys(), values(), items()メソッドを使うことができます。

# Counterオブジェクト
count_animal = collections.Counter(list_animals)
print(count_animal.keys())
print(count_animal.values())
print(count_animal.items())
(output)
dict_keys(['らくだ', 'ねこ', 'しまうま', 'ぱんだ', 'らいおん'])
dict_values([2, 1, 3, 1, 1])
dict_items([('らくだ', 2), ('ねこ', 1), ('しまうま', 3), ('ぱんだ', 1), ('らいおん', 1)])
スポンサーリンク

まとめ

今回はリストの各要素の出現回数を取得する方法を扱いました。count()メソッドを使う方法とcollectionsライブラリのCounter()を使う方法を紹介しました。

コメント

タイトルとURLをコピーしました