插件窝 干货文章 Python Pandas如何高效去除完全相同的重复行?

Python Pandas如何高效去除完全相同的重复行?

duplicates DataFrame 重复 一个 99    来源:    2025-03-13

在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参数,你可以灵活地控制保留哪些重复行。