如何计算 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 中执行其他常见操作:

如何删除 Pandas 中的重复行
如何删除 Pandas 中的重复列
如何在 Pandas 中按索引选择列

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注