PandasのDataFrameには、ユニークな値を数えるための便利な関数があります。それはnunique()関数です。この関数は、各列または各行のユニークな値を数えることができます。

列ごとのユニークな値の数を数える

以下のようなDataFrameがあるとします。

import pandas as pd

df = pd.DataFrame({
    'team': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'],
    'points': [8, 8, 13, 13, 22, 22, 25, 29],
    'assists': [5, 8, 7, 9, 12, 9, 9, 4],
    'rebounds': [11, 8, 11, 6, 6, 5, 9, 12]
})

各列のユニークな値の数を数えるには、nunique()関数を使用します。

df.nunique()

出力は次のようになります。

team        2
points      5
assists     5
rebounds    6
dtype: int64

これは、’team’列には2つのユニークな値があり、’points’列には5つのユニークな値があり、’assists’列には5つのユニークな値があり、’rebounds’列には6つのユニークな値があることを示しています。

行ごとのユニークな値の数を数える

各行のユニークな値の数を数えるには、nunique(axis=1)関数を使用します。

df.nunique(axis=1)

出力は次のようになります。

0    4
1    2
2    4
3    4
4    4
5    4
6    3
7    4
dtype: int64

これは、最初の行には4つのユニークな値があり、2番目の行には2つのユニークな値があり、3番目の行には4つのユニークな値があり、というように続きます。

グループごとのユニークな値の数を数える

グループごとのユニークな値の数を数えるには、groupby()関数とnunique()関数を組み合わせて使用します。

df.groupby('team')['points'].nunique()

出力は次のようになります。

team
A    2
B    3
Name: points, dtype: int64

これは、チーム’A’には2つのユニークな’points’の値があり、チーム’B’には3つのユニークな’points’の値があることを示しています。

以上が、Pandasのnunique()関数の基本的な使い方です。この関数を使うと、データ分析の際にユニークな値の数を簡単に把握することができます。さらに詳しい情報は、公式ドキュメンテーションを参照してください。.

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です