在Pandas中,可以使用 drop_duplicates()
方法来高效去除DataFrame中完全相同的重复行。这个方法会返回一个新的DataFrame,其中删除了所有重复的行。
import pandas as pd
# 创建一个示例DataFrame
data = {
'A': [1, 2, 2, 3],
'B': [4, 5, 5, 6],
'C': [7, 8, 8, 9]
}
df = pd.DataFrame(data)
# 去除完全相同的重复行
df_unique = df.drop_duplicates()
print(df_unique)
subset
: 可选参数,指定要考虑的列。默认情况下,drop_duplicates()
会考虑所有列。如果你只想根据某些列来去除重复行,可以传递这些列名作为 subset
参数。
df_unique = df.drop_duplicates(subset=['A', 'B'])
keep
: 可选参数,指定保留哪个重复行。默认值为 'first'
,表示保留第一个出现的重复行;'last'
表示保留最后一个出现的重复行;False
表示删除所有重复行。
df_unique = df.drop_duplicates(keep='last')
inplace
: 可选参数,如果设置为 True
,则直接在原DataFrame上进行修改,而不是返回一个新的DataFrame。
df.drop_duplicates(inplace=True)
import pandas as pd
# 创建一个示例DataFrame
data = {
'A': [1, 2, 2, 3, 3],
'B': [4, 5, 5, 6, 6],
'C': [7, 8, 8, 9, 9]
}
df = pd.DataFrame(data)
# 去除完全相同的重复行
df_unique = df.drop_duplicates()
print("原始DataFrame:")
print(df)
print("\n去除重复行后的DataFrame:")
print(df_unique)
原始DataFrame:
A B C
0 1 4 7
1 2 5 8
2 2 5 8
3 3 6 9
4 3 6 9
去除重复行后的DataFrame:
A B C
0 1 4 7
1 2 5 8
3 3 6 9
drop_duplicates()
是Pandas中去除重复行的标准方法。subset
参数指定要考虑的列。keep
参数控制保留哪个重复行。inplace=True
可以直接修改原DataFrame。这种方法在处理大数据集时非常高效,是去除重复行的首选方法。