Python Pandas入門 – インデックスから一意の値を取得する方法(index.unique)
Pandasでインデックス(Index)に含まれる一意の値(重複を除いた値)を取得するには、index.unique()メソッドを使用します。このメソッドは、値を出現順にそのまま返すのが特徴で、自動的に並べ替え(ソート)は行われません。
まず、必要なライブラリをインポートしましょう。
import pandas as pd
Pandasインデックスの作成
サンプルとして、重複した値を含む整数のインデックスを作成します。
index = pd.Index([10, 50, 70, 10, 90, 50, 10, 30])
インデックスの内容を確認する
print()関数を使って、作成したインデックスの中身を表示してみましょう。
print("Pandas Index...\n", index)
一意の値を取得する
index.unique()を呼び出すことで、重複を取り除いた値のリストを取得できます。戻り値は元の順序(出現順)が保持されたまま返されます。
index.unique()
完全なコード例
以下に、ここまでの手順をまとめた完全なサンプルコードを示します。あわせて要素数(size)やデータ型(dtype)の確認方法も含めています。
import pandas as pd
# Pandasインデックスを作成
index = pd.Index([10, 50, 70, 10, 90, 50, 10, 30])
# インデックスを表示
print("Pandas Index...\n", index)
# インデックス内の要素数を返す
print("\nNumber of elements in the index...\n", index.size)
# データのdtypeを返す
print("\nThe dtype object...\n", index.dtype)
# インデックスから一意の値を取得
# 値は出現順に返され、ソートは行われない
print("\nUnique values from the Index..\n", index.unique())
実行結果
上記のコードを実行すると、次のような出力が得られます。
Pandas Index... Int64Index([10, 50, 70, 10, 90, 50, 10, 30], dtype='int64') Number of elements in the index... 8 The dtype object... int64 Unique values from the Index.. Int64Index([10, 50, 70, 90, 30], dtype='int64')
ポイント解説
- ソートされない: NumPyの
np.unique()とは異なり、Pandasのunique()は値を並べ替えず、元の出現順のまま返します。ソートしたい場合は、別途sorted()などを使用してください。 - 欠損値の扱い: インデックスにNaNが含まれている場合、NaNも1つの一意な値としてカウントされます。
- 戻り値: 結果はIndexオブジェクトとして返されるため、そのまま他のPandas操作に渡すことができます。
-
Python・PandasでIndexの最大値を取得する方法|index.max()の使い方
PandasのIndexオブジェクトから最大値を取得したい場合は、index.max() メソッドを使用します。このメソッドは、インデックスに含まれる要素の中から最も大きい値を1つ返してくれます。必要なライブラリのインポートまず、Pandasをインポートします。import pandas as pdPandasインデックスの作成次に、数値を含むPandasのインデックスを作成します。index = pd.Index([10, 20, 70, 40, 90, 50, 25, 30])作成したインデックスを表示してみましょう。print(Pandas Index...\n, index)そして、m
-
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