Pandas 使用pyspark基于多列值的删除记录

Pandas 使用pyspark基于多列值的删除记录,pandas,pyspark,Pandas,Pyspark,我有一个pyspark数据帧,如下所示: 如果两列uniq\u id和date\u time的值相同,我只想保留一条记录 预期产出: 我想用pyspark实现这一点 谢谢我不知道如何比较int列和timestamp one(虽然可以通过将timestamp转换为int来完成),但是可以通过 from pyspark.sql import functions as F # assume you already have your DataFrame df = df.filter(F.col(

我有一个pyspark数据帧,如下所示:

如果两列
uniq\u id
date\u time
的值相同,我只想保留一条记录

预期产出:

我想用pyspark实现这一点


谢谢

我不知道如何比较int列和timestamp one(虽然可以通过将timestamp转换为int来完成),但是可以通过

from pyspark.sql import functions as F

# assume you already have your DataFrame
df = df.filter(F.col('first_column_name') == F.col('second_column_name'))
或者只是

df = df.filter('first_column_name = second_column_name')

您可以按
uniq\u id
date\u time
进行分组,并使用
first()


:如何仅在这种情况下保留预定义值的记录,而不选择“第一个”?
from pyspark.sql import functions as F

df.groupBy("uniq_id", "date_time").agg(F.first("col_1"), F.first("col_2"), F.first("col_3")).show()