パンダで重複を数える方法: 例付き


次のメソッドを使用して、pandas DataFrame 内の重複をカウントできます。

方法 1: 列内の重複値を数える

 len (df[' my_column ']) - len (df[' my_column ']. drop_duplicates ())

方法 2: 重複行をカウントする

 len (df) -len ( df.drop_duplicates ())

方法 3: 一意の行ごとに重複をカウントする

 df. groupby ( df.columns.tolist (), as_index= False ) . size ()

次の例は、次の pandas DataFrame で各メソッドを実際に使用する方法を示しています。

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'],
                   ' position ': ['G', 'G', 'G', 'F', 'G', 'G', 'F', 'F'],
                   ' points ': [5, 5, 8, 10, 5, 7, 10, 10]})

#view DataFrame
print (df)

  team position points
0 AG 5
1 GA 5
2 AG 8
3 AF 10
4 BG 5
5 BG 7
6 BF 10
7 BF 10

例 1: 列内の重複値を数える

次のコードは、ポイント列の重複値の数をカウントする方法を示しています。

 #count duplicate values in points column
len (df[' points '])- len (df[' points ']. drop_duplicates ())

4

ポイント列に重複した値が4 つあることがわかります。

例 2: 重複行をカウントする

次のコードは、DataFrame 内の重複行の数をカウントする方法を示しています。

 #count number of duplicate rows
len (df) -len ( df.drop_duplicates ())

2

DataFrame に2 つの重複行があることがわかります。

次の構文を使用して、これらの 2 つの重複行を表示できます。

 #display duplicated rows
df[df. duplicated ()]

        team position points
1 A G 5
7 B F 10

例 3: 一意の行ごとに重複をカウントする

次のコードは、DataFrame 内の各一意の行の重複数をカウントする方法を示しています。

 #display number of duplicates for each unique row
df. groupby ( df.columns.tolist (), as_index= False ) . size ()

        team position points size
0 A F 10 1
1 A G 5 2
2 A G 8 1
3 B F 10 2
4 B G 5 1
5 B G 7 1

[サイズ]列には、一意の各行の重複数が表示されます。

追加リソース

次のチュートリアルでは、パンダで他の一般的な操作を実行する方法を説明します。

Pandas で重複した行を削除する方法
Pandasで重複した列を削除する方法
Pandas でインデックスによって列を選択する方法

コメントを追加する

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