Python Pandas - 最初の出現を保持して重複する値を削除したインデックスを返す方法
Pandasのインデックス(Index)から重複する値を削除し、最初の出現のみを保持した新しいインデックスを取得するには、index.drop_duplicates()メソッドを使用します。keepパラメータに'first'を指定することで、重複しているエントリのうち最初に出現したものだけが残り、それ以降の重複が削除されます。
なお、keepパラメータには「最後の出現を保持する」'last' や「重複をすべて削除する」False も指定できるため、用途に応じて使い分けることが可能です。
必要なライブラリのインポート
まず、Pandasをインポートします。
import pandas as pd
重複を含むインデックスの作成
「Airplane」が2回登場する、重複を含むインデックスを作成します。
index = pd.Index(['Car','Bike','Airplane','Ship','Airplane'])
作成したインデックスを表示して確認しましょう。
print("Pandas Index with duplicates...\n",index)
重複値の削除(最初の出現を保持)
drop_duplicates()メソッドにkeep='first'を指定して呼び出すことで、重複する値が削除されたインデックスが返されます。
index.drop_duplicates(keep='first')
サンプルコード全体
以下に、ここまでの手順をまとめた完全なコードを示します。
import pandas as pd
# 重複を含むインデックスを作成
index = pd.Index(['Car','Bike','Airplane','Ship','Airplane'])
# インデックスを表示
print("Pandas Index with duplicates...\n",index)
# データのdtypeを取得
print("\nThe dtype object...\n",index.dtype)
# データのバイト数を取得
print("\nGet the bytes...\n",index.nbytes)
# データの次元数を取得
print("\nGet the dimensions...\n",index.ndim)
# 重複する値を削除したインデックスを返す
# keep='first' を指定すると、各重複セットの最初の出現が保持される
print("\nIndex with duplicate values removed (keeping the first occurrence)...\n",index.drop_duplicates(keep='first'))
実行結果
上記のコードを実行すると、以下のような出力が得られます。
Pandas Index with duplicates... Index(['Car', 'Bike', 'Airplane', 'Ship', 'Airplane'], dtype='object') The dtype object... object Get the bytes... 40 Get the dimensions... 1 Index with duplicate values removed (keeping the first occurrence)... Index(['Car', 'Bike', 'Airplane', 'Ship'], dtype='object')
まとめ
インデックスから重複値を削除するには drop_duplicates() メソッドを使います。デフォルトでは keep='first' が適用され、最初の出現が保持されます。最後の出現を残したい場合は keep='last'、重複する要素をすべて削除したい場合は keep=False を指定してください。データクレンジングやユニークなラベル管理の際に非常に便利な機能です。
-
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