Python リストで一意の値を数える

胡金庫 2023年1月30日
  1. collections.counter を使用して Python リストの一意の値をカウントする
  2. set を使用して Python リストの一意の値をカウントする
  3. numpy.unique を使用して Python リストの一意の値をカウントする
Python リストで一意の値を数える

この記事では、リスト内の一意の値をカウントするためのさまざまなメソッドを以下のメソッドを使って紹介します。

  • collections.Counter
  • set(listName)
  • np.unique(listName)

collections.counter を使用して Python リストの一意の値をカウントする

collections は Python の標準ライブラリであり、ハッシュ可能なオブジェクトを数えるための Counter クラスを含まれています。

Counter クラスには 2つのメソッドがあります。

  1. keys() はリスト内の一意な値を返します。
  2. values() はリスト内のすべての一意な値の数を返します。

関数 len() を用いて Counter クラスを引数に渡すことで一意な値の数を得ることができます。

コード例

from collections import Counter

words = ["Z", "V", "A", "Z", "V"]

print(Counter(words).keys())
print(Counter(words).values())

print(Counter(words))

出力:

['V', 'A', 'Z']
[2, 1, 2]
3

set を使用して Python リストの一意の値をカウントする

set は反復可能であり、変異可能であり、要素の重複を持たない無秩序なコレクションデータ型です。リストを set() 関数を使って set に変換した後、set の長さを取得して、リスト内の一意でない値を数えることができます。

コード例:

words = ["Z", "V", "A", "Z", "V"]
print(len(set(words)))

出力:

3

numpy.unique を使用して Python リストの一意の値をカウントする

また、return_counts パラメータに True を指定した場合は、それぞれの値のカウントも返します。

コード例:

import numpy as np

words = ["Z", "V", "A", "Z", "V"]

np.unique(words)

print(len(np.unique(words)))

出力:

3
著者: 胡金庫
胡金庫 avatar 胡金庫 avatar

DelftStack.comの創設者です。Jinku はロボティクスと自動車産業で8年以上働いています。自動テスト、リモートサーバーからのデータ収集、耐久テストからのレポート作成が必要となったとき、彼はコーディングスキルを磨きました。彼は電気/電子工学のバックグラウンドを持っていますが、組み込みエレクトロニクス、組み込みプログラミング、フロントエンド/バックエンドプログラミングへの関心を広げています。

LinkedIn Facebook

関連記事 - Python List