PySpark 数据框:adobeDF
将新列添加到数据框:
from pyspark.sql.window import Window
from pyspark.sql import functions as f
adobeDF_new = adobeDF.withColumn('start_date', f.col('Date')).withColumn('end_date', f.col('Date'))
Result:
我试图找出有关如何保存 start_date 中的 min(Date) 值和 end_Date 中的 max(Date) 值的代码,并按 post_evar10 和 Type 对最终数据帧进行分组。
我尝试过的:下面的代码可以工作,但想看看是否有更好的方法来做到这一点并将数据限制为从 start_date 起 60 天
from pyspark.sql.window import Window
from pyspark.sql import functions as f
adobe_window = Window.partitionBy('post_evar10','Type').orderBy('Date')
adobeDF_new = adobeDF.withColumn('start_date', min(f.col('Date')).over(adobe_window)).withColumn('end_date', max(f.col('Date')).over(adobe_window))
下面的怎么样?
adobeDF.groupBy("post_evar10").agg(
f.min("start_date").alias("min_start"),
f.max("end_date").alias("max_end")
)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)