尝试计算自用户首次开始使用应用程序以来经过的天数以及df行表示的事件。下面的代码(via)创建了一个列,将该行与前一行进行比较,但我需要将它与分区的第一行进行比较。你知道吗
window = Window.partitionBy('userId').orderBy('dateTime')
df = df.withColumn("daysPassed", datediff(df.dateTime,
lag(df.dateTime, 1).over(window)))
尝试“int”(Window.unbounddpreceiding窗口)“而不是1,它抛出了一个错误。你知道吗
我希望daysPassed专栏做的示例:
Row(userId='59', page='NextSong', datetime='2018-10-01', daysPassed=0),
Row(userId='59', page='NextSong', datetime='2018-10-03', daysPassed=2),
Row(userId='59', page='NextSong', datetime='2018-10-04', daysPassed=3)
所以,如果我没弄错的话,基本上你需要计算行中的日期与用户的最小日期(开始日期)的差值,而不是
lag()
。你知道吗这将计算从用户启动应用程序的第一天起的天数。你知道吗
相关问题 更多 >
编程相关推荐