パンダで重複を数える方法: 例付き
次のメソッドを使用して、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 でインデックスによって列を選択する方法