【发布时间】:2021-06-21 07:01:29
【问题描述】:
我在下面有这个数据框:
+--------+----------+----------+
|SID |Date |Attribute |
+--------+----------+----------+
|1001 |2021-01-01|Y |
|1001 |2021-05-31|N |
|1001 |2021-05-15|N |
|1002 |2021-05-31|N |
|1002 |2021-04-06|N |
|1003 |2021-01-01|Y |
|1003 |2021-02-01|N |
|1004 |2021-03-30|N |
+--------+----------+----------+
我正在尝试得到如下结果。
+--------+----------+----------+
|SID |Date |Attribute |
+--------+----------+----------+
|1001 |2021-01-01|Y |
|1002 |2021-05-31|N |
|1002 |2021-04-06|N |
|1003 |2021-01-01|Y |
|1004 |2021-03-30|N |
+--------+----------+----------+
当重复的SID 在同一行中有Y 为Attribute 时,我想排除该记录,但如果Attribute 中只有N,则保留SID 的记录。
我认为带有过滤器的窗口分区会有所帮助,但我不确定如何在我提到的条件下做到这一点。有什么方法可以在 Pyspark 中实现吗?我看到了一个类似的帖子,但它是针对 Scala SQL 而不是针对 Pyspark。
【问题讨论】:
标签: pyspark