Python
 Computer >> コンピューター >  >> プログラミング >> Python

【Python Pandas】Indexオブジェクトの一意な要素の数を返す方法(nunique()メソッド)

PandasでIndexオブジェクトに含まれる一意な(重複しない)要素の数を取得するには、index.nunique()メソッドを使用します。このメソッドは、インデックス内のユニークな値の個数を整数値として返してくれます。

まずは、必要なライブラリをインポートしましょう。

import pandas as pd

Pandasインデックスの作成

次に、サンプルとなるPandasのインデックスを作成します。

index = pd.Index([50, 10, 70, 110, 90, 50, 110, 90, 30])

インデックスの表示

作成したPandasインデックスを表示してみます。

print("Pandas Index...\n", index)

一意な値の数を取得する

nunique()メソッドを使って、インデックス内の一意な値の数を取得します。

print("\n一意な値の数...\n", index.nunique())

完全なコード例

以下が全体のコードです。

import pandas as pd

# Pandasインデックスを作成
index = pd.Index([50, 10, 70, 110, 90, 50, 110, 90, 30])

# Pandasインデックスを表示
print("Pandas Index...\n", index)

# インデックス内の要素数を返す
print("\nインデックスの要素数...\n", index.size)

# データのdtypeを返す
print("\ndtypeオブジェクト...\n", index.dtype)

# インデックスから一意な値を取得
# 一意な値は出現順に返され、ソートは行われない点に注意
print("\nインデックスの一意な値..\n", index.unique())

# インデックス内の一意な値の数を取得
print("\n一意な値の数...\n", index.nunique())

出力結果

上記のコードを実行すると、以下のような出力が得られます。

Pandas Index...
Int64Index([50, 10, 70, 110, 90, 50, 110, 90, 30], dtype='int64')

インデックスの要素数...
9

dtypeオブジェクト...
int64

インデックスの一意な値..
Int64Index([50, 10, 70, 110, 90, 30], dtype='int64')

一意な値の数...
6

まとめ

この例では、9個の要素を持つインデックスの中に重複が含まれており、一意な値は6個であることが確認できます。unique()メソッドは一意な値そのものを配列として返すのに対し、nunique()メソッドはその個数のみを返すという違いがあります。用途に応じて使い分けると便利です。

  1. Python・Pandasでインデックスの最小値を取得する方法(index.min()の使い方)

    Pandasのインデックス(Index)から最小値を返すには、index.min()メソッドを使用します。このメソッドを呼び出すだけで、インデックスに含まれる要素の中から最も小さい値を簡単に取得できます。まず、必要なライブラリをインポートしましょう。import pandas as pdPandasインデックスの作成次に、数値データを含むPandasインデックスを作成します。index = pd.Index([10.5, 20.4, 40.5, 25.6, 5.7, 6.8, 30.8, 50.2])作成したインデックスを表示して確認します。print(Pandas Index...\n, i

  2. Python・Pandasでインデックスがobject型(dtype)かどうかを確認する方法

    Pandasのインデックスがobject型(dtype)であるかどうかを確認するには、index.is_object()メソッドを使用します。このメソッドは、インデックスの値がobject型であればTrue、そうでなければFalseを返します。必要なライブラリのインポートまず、必要なライブラリをインポートします。import pandas as pdPandasインデックスの作成文字列や数値など、異なる型が混在したPandasインデックスを作成します。index = pd.Index(["Electronics", 6, 10.5, "Accessories&qu