在Pandas中,可以使用drop_duplicates()
方法来高效去除完全相同的重复行。这个方法会返回一个去重后的DataFrame,而不会修改原始DataFrame。
import pandas as pd
# 创建一个包含重复行的DataFrame
data = {
'A': [1, 2, 2, 3, 4],
'B': [5, 6, 6, 7, 8],
'C': [9, 10, 10, 11, 12]
}
df = pd.DataFrame(data)
# 去除完全相同的重复行
df_no_duplicates = df.drop_duplicates()
print("原始DataFrame:")
print(df)
print("\n去重后的DataFrame:")
print(df_no_duplicates)
原始DataFrame:
A B C
0 1 5 9
1 2 6 10
2 2 6 10
3 3 7 11
4 4 8 12
去重后的DataFrame:
A B C
0 1 5 9
1 2 6 10
3 3 7 11
4 4 8 12
keep
: 控制保留哪个重复行。默认值为'first'
,表示保留第一个出现的重复行。可以设置为'last'
来保留最后一个出现的重复行,或者设置为False
来删除所有重复行。inplace
: 如果设置为True
,则直接在原始DataFrame上进行修改,而不是返回一个新的DataFrame。默认值为False
。df_no_duplicates = df.drop_duplicates(keep='last')
print(df_no_duplicates)
A B C
0 1 5 9
2 2 6 10
3 3 7 11
4 4 8 12
df_no_duplicates = df.drop_duplicates(keep=False)
print(df_no_duplicates)
A B C
0 1 5 9
3 3 7 11
4 4 8 12
drop_duplicates()
是Pandas中用于去除重复行的非常高效的方法。通过调整keep
参数,你可以灵活地控制保留哪些重复行。