【毎日Python】Pythonでデータフレームのユニークな要素とその個数を取得する方法|value_counts

value_cunts
こつこつPython
# !pip install -U pandas

データフレームの要素がユニークな個数を取得する方法です。
使用するメソッドはpandas.DataFrameのvalue_countsメソッドです。
ちなみに、このメソッドはPandasのバージョン1.1.0.以降で使用可能です。
Pandasのアップデートはこのコマンドでできます。

import pandas as pd
import numpy as np

df = pd.DataFrame({'col1': [1, 2, 3, 3, 2, 3, 2],
                   'col2': ['c', 'a', 'a', 'a', 'b', 'a', 'b'], 
                   'col3': [5, 5, 5, 5, 5, 5, 5]})
df

それではこのようなデータフレームを作成します。

df.value_counts()

メソッドを使用してみましょう。
実行します。
行ごとにユニークになる要素と、その個数が表示されました。
デフォルトでは、個数が多い順に表示されます。

df['col2'].value_counts()

このように、シリーズでも使用できます。

df.iloc[0,1] = np.nan
df.iloc[1,1] = np.nan
df
df.value_counts()

なお、欠損値があると、デフォルトでは省かれてしまいます。

df.value_counts(dropna=False)

引数dropnaにFalseを渡すことで、欠損値も含めて数えることができます。

df['col1'].unique()

似たメソッドに、Pandas.Seriesのuniqueメソッドがあります。
これを使用すると、データの重複のない値を取得できます。

関連メソッド

【毎日Python】Pandasでデータフレームから重複のないデータを取得する方法|unique

【毎日Python】Pythonでデータフレームのユニークな個数を取得する方法|nunique

【毎日Python】Pythonで重複しない要素の集まり(集合)を作成する方法|set

未経験からはじめるPython学習「キノクエスト」 キノクエスト
  • スキルアップしたいけど何からはじめればよいかわからない…
  • プログラミングスクールに入りたいけど料金が高い…
  • プログラミングを学んでも業務やキャリアに活かせるか不安…

キノクエストは、このような悩みを持つ方にぴったりのプログラミング学習サービスです。
国内最大級のプログラミング学習系YouTubeチャンネル「キノコード」が提供しているから、未経験者にもわかりやすく質の高い学習体験を実感していただけます。

キノクエスト