Pandas dataframe の重複行を削除する方法


pandas DataFrame 内の重複行を削除する最も簡単な方法は、次の構文を使用するDrop_duplicates()関数を使用することです。

df.drop_duplicates(subset=None、keep=’first’、inplace=False)

金:

  • サブセット:重複を識別するためにどの列を考慮するか。デフォルトはすべての列です。
  • keep:どの重複 (存在する場合) を保持するかを指定します。
    • first:最初の行を除くすべての重複行を削除します。
    • last:最後の行を除くすべての重複行を削除します。
    • False : すべての重複を削除します。
  • inplace:重複をその場で削除するか、DataFrame のコピーを返すかを示します。

このチュートリアルでは、次の DataFrame でこの関数を実際に使用する例をいくつか示します。

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({'team': ['a', 'b', 'b', 'c', 'c', 'd'],
                   'points': [3, 7, 7, 8, 8, 9],
                   'assists': [8, 6, 7, 9, 9, 3]})

#display DataFrame
print (df)

  team points assists
0 to 3 8
1 b 7 6
2 b 7 7
3 c 8 9
4 c 8 9
5 d 9 3

例 1: すべての列の重複を削除する

次のコードは、すべての列で重複した値を持つ行を削除する方法を示しています。

 df. drop_duplicates ()

        team points assists
0 to 3 8
1 b 7 6
2 b 7 7
3 c 8 9
5 d 9 3

デフォルトでは、drop_duplicates() 関数は最初の重複を除くすべての重複を削除します。

ただし、 keep=False引数を使用すると、すべての重複を完全に削除できます。

 df. drop_duplicates (keep= False )

	team points assists
0 to 3 8
1 b 7 6
2 b 7 7
5 d 9 3

例 2:特定の列の重複を削除する

次のコードは、 「team 」と「points」というラベルの付いた列のみで重複した値を持つ行を削除する方法を示しています。

 df. drop_duplicates (subset=[' team ', ' points '])

        team points assists
0 to 3 8
1 b 7 6
3 c 8 9
5 d 9 3

追加リソース

Pandasで重複した列を削除する方法
Pandas DataFrame で値を並べ替える方法
複数の条件で Pandas DataFrame をフィルタリングする方法
Pandas DataFrame に列を挿入する方法

コメントを追加する

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