如何计算 pandas 中的重复项:示例
您可以使用以下方法来计算 pandas DataFrame 中的重复项:
方法一:统计列中的重复值
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:计算列中的重复值
下面的代码展示了如何计算points列中重复值的数量:
#count duplicate values in points column
len (df[' points '])- len (df[' points ']. drop_duplicates ())
4
我们可以看到points列中有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 中执行其他常见操作: