如何删除 pandas dataframe 中的重复行


删除 pandas DataFrame 中重复行的最简单方法是使用drop_duplicates()函数,该函数使用以下语法:

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

金子:

  • 子集:要考虑哪些列来识别重复项。默认为所有列。
  • keep:指定要保留哪些重复项(如果有)。
    • 第一个:删除除第一行之外的所有重复行。
    • 最后:删除除最后一行之外的所有重复行。
    • 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:删除特定列中的重复项

以下代码显示如何仅删除标记为teampoints的列中具有重复值的行:

 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

添加评论

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