如何在Databricks中移除PySpark DataFrame的重复行
去除PySpark DataFrame中全列重复行的方法
在Databricks的PySpark环境中,你可以通过以下两种简单方法实现全列重复行的去重:
方法一:使用distinct()函数
distinct()会直接返回一个仅包含唯一行的新DataFrame,自动移除所有完全重复的行:
# 假设你的原始DataFrame名为df df_deduplicated = df.distinct() # 查看去重后的结果 display(df_deduplicated)
方法二:使用dropDuplicates()函数
如果不传入任何列名参数,dropDuplicates()的效果和distinct()完全一致,同样会基于所有列进行去重:
df_deduplicated = df.dropDuplicates() # 查看结果 display(df_deduplicated)
补充说明
- 若需基于特定列而非所有列去重,可给
dropDuplicates()传入列名列表,例如df.dropDuplicates(["No.", "Name"])会仅根据这两列的值去重。但你的场景中需要移除所有列值相同的重复行,因此无需传参。 - 两种方法均不会修改原始DataFrame,而是返回新的去重后DataFrame,需将结果赋值给新变量。
内容的提问来源于stack exchange,提问作者Emma
相关产品推荐
相关产品推荐

