检查 Pyspark Dataframe 中的重复项
check for duplicates in Pyspark Dataframe
是否有一种简单有效的方法来根据列检查 python 数据框的重复项(而不是删除它们)?
我想根据列的组合检查数据框是否有重复项,如果有,则使过程失败。
TIA。
最简单的方法是检查数据框中的行数是否等于删除重复项后的行数。
if df.count() > df.dropDuplicates([listOfColumns]).count():
raise ValueError('Data has duplicates')
如果你还想实际检查重复项,你可以这样做
df \
.groupby(['column1', 'column2']) \
.count() \
.where('count > 1') \
.sort('count', ascending=False) \
.show()
检查重复项的另一种方法是:
df.exceptAll(df.dropDuplicates([listOfColumns]))
是否有一种简单有效的方法来根据列检查 python 数据框的重复项(而不是删除它们)?
我想根据列的组合检查数据框是否有重复项,如果有,则使过程失败。
TIA。
最简单的方法是检查数据框中的行数是否等于删除重复项后的行数。
if df.count() > df.dropDuplicates([listOfColumns]).count():
raise ValueError('Data has duplicates')
如果你还想实际检查重复项,你可以这样做
df \
.groupby(['column1', 'column2']) \
.count() \
.where('count > 1') \
.sort('count', ascending=False) \
.show()
检查重复项的另一种方法是:
df.exceptAll(df.dropDuplicates([listOfColumns]))