我有一个功能让我抓狂,我应该只使用PySpark。
下表是数据的表示:
有身份证,姓名,姓氏和有效性,我可以分区,但我应该点燃的电子邮件的百分比值是正确设置的身份证。
如下图所示:
我怎样才能解决这个问题?
window = Window.partitionBy("ID", "email", "name", "surname", "validity").orderBy(col("ID").desc())
df = df.withColumn("row_num", row_number().over(window))
df_new = df.withColumn("total valid emails per ID", df.select("validity").where(df.validity == "valid" & df.row_num == 1)).count()
2条答案
按热度按时间k10s72fa1#
比如:
c2e8gylq2#
这是可行的:
输入:
输出(我保留了中间列以便于理解,您可以删除它们):