在Pandas中,可以使用drop_duplicates()
方法来高效地删除DataFrame中完全相同的行。这个方法会返回一个新的DataFrame,其中删除了所有重复的行。
假设你有一个DataFrame df
,你想要删除其中完全相同的行:
import pandas as pd
# 示例数据
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(df_no_duplicates)
A B C
0 1 5 9
1 2 6 10
3 3 7 11
4 4 8 12
subset
: 可以指定一个列名列表,只考虑这些列是否重复。默认情况下,drop_duplicates()
会考虑所有列。keep
: 指定保留哪个重复行。默认是'first'
,即保留第一次出现的行。可以设置为'last'
来保留最后一次出现的行,或者设置为False
来删除所有重复的行。inplace
: 如果设置为True
,则直接在原DataFrame上进行修改,而不是返回一个新的DataFrame。如果你只想根据某些列来删除重复行,可以使用subset
参数:
df_no_duplicates = df.drop_duplicates(subset=['A', 'B'])
df_no_duplicates = df.drop_duplicates(keep='last')
df.drop_duplicates(inplace=True)
drop_duplicates()
是一个非常方便的方法,可以帮助你高效地删除DataFrame中完全相同的行。通过调整参数,你可以灵活地控制去重的行为。