如何删除 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:删除特定列中的重复项
以下代码显示如何仅删除标记为team和points的列中具有重复值的行:
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