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

Python Pandas入門:index.duplicated()で最初の出現を除いた重複インデックス値を検出する方法

Pandasで最初の出現を除いて重複するインデックス値を検出するには、index.duplicated() メソッドを使用します。keep パラメータに 'first' を指定すると、各値の初回出現は False(重複ではない)と判定され、2回目以降の出現のみが True として返されます。

必要なライブラリのインポート

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

import pandas as pd

重複を含むインデックスの作成

重複する要素('Airplane')を含むインデックスを作成します。

index = pd.Index(['Car','Bike','Airplane','Ship','Airplane'])

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

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

重複値の検出(keep='first')

keep パラメータを 'first' に設定し、最初の出現を除く重複値を True として示します。

print("\nIndicating duplicate values except the first occurrence...\n", index.duplicated(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 dimensions...\n", index.ndim)

# 最初の出現を除き、重複するインデックス値をTrueとして示す
# keepパラメータに'first'を設定
print("\nIndicating duplicate values except the first occurrence...\n", index.duplicated(keep='first'))

実行結果

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

Pandas Index with duplicates...
Index(['Car', 'Bike', 'Airplane', 'Ship', 'Airplane'], dtype='object')

The dtype object...
object

Get the dimensions...
1

Indicating duplicate values except the first occurrence...
[False False False False True]

解説

出力結果を見ると、5番目の要素 'Airplane' のみが True になっています。これは、3番目に出現した 'Airplane' が「最初の出現」として扱われ False と判定され、後から再び現れた同一名のみが重複(True)として検出されたためです。

なお、duplicated()keep パラメータには以下の値を指定できます。

  • 'first'(デフォルト):最初の出現を残し、それ以降の重複を True とする
  • 'last':最後の出現を残し、それ以前の重複を True とする
  • False:重複するすべての要素を True とする

用途に応じてこれらのオプションを使い分けることで、柔軟に重複データの検出・除去が行えます。

  1. Python Pandas – index.take()でインデックス位置を指定して新しいインデックスを返す方法

    Pandasのindex.take()メソッドとはPandasで、指定したインデックス位置にある値だけを抜き出し、その新しいIndexオブジェクトを返したい場合は、index.take()メソッドを使用します。まずは、必要なライブラリをインポートしましょう。import pandas as pdPandasインデックスの作成次に、商品名を要素とするPandasインデックスを作成します。index = pd.Index([Electronics,Accessories,Decor, Books, Toys], name =Products)Pandasインデックスの表示print(Pandas

  2. Python Pandas入門:条件がFalseのインデックス値を置換する方法

    Pandasで条件がFalseとなるインデックス値を置換するには、index.isin()メソッドとwhere()メソッドを組み合わせて使用します。isin()は指定した値のリストに含まれるかどうかを判定し、where()はその条件がFalseの場合に指定した別の値へ置き換えます。まず、必要なライブラリをインポートしましょう。import pandas as pdPandasインデックスの作成次に、商品名を要素とするPandasインデックスを作成します。index = pd.Index([Electronics,Accessories,Decor, Books, Toys], name =Pr