Dataframe 如何使用pyspark获取使用年份和日期的周数?
我正在尝试向表中添加行号。我需要为数据帧中的前7行添加1,然后为数据帧中的后7行添加2,依此类推。例如,请参考数据框中的最后一列。 我基本上是根据一年中的某一天和某一年的某一天来获取周数Dataframe 如何使用pyspark获取使用年份和日期的周数?,dataframe,apache-spark,pyspark,apache-spark-sql,Dataframe,Apache Spark,Pyspark,Apache Spark Sql,我正在尝试向表中添加行号。我需要为数据帧中的前7行添加1,然后为数据帧中的后7行添加2,依此类推。例如,请参考数据框中的最后一列。 我基本上是根据一年中的某一天和某一年的某一天来获取周数 +-----------+---------------+----------------+------------------+---------+ |datekey |datecalendarday|datecalendaryear|weeknumberofseason|indicator|
+-----------+---------------+----------------+------------------+---------+
|datekey |datecalendarday|datecalendaryear|weeknumberofseason|indicator| weeknumber
+-----------+---------------+----------------+------------------+---------+
|4965 |1 |2018 |2 |1 | 1
|4966 |2 |2018 |2 |2 | 1
|4967 |3 |2018 |2 |3 | 1
|4968 |4 |2018 |2 |4 | 1
|4969 |5 |2018 |2 |5 | 1
|4970 |6 |2018 |2 |6 | 1
|4971 |7 |2018 |3 |7 | 1
|4972 |8 |2018 |3 |8 | 2
|4973 |9 |2018 |3 |9 | 2
|4974 |10 |2018 |3 |10 | 2
|4975 |11 |2018 |3 |11 | 2
|4976 |12 |2018 |3 |12 | 2
|4977 |13 |2018 |3 |13 | 2
|4978 |14 |2018 |4 |14 | 2
我偶然发现了一个解决方案,我使用ntile函数从当年可用的天数中获取周数。任何其他有效的解决方案也会有所帮助。Thaks Prevance您可以将此添加为问题的一部分。。不作为答案:)发布您的代码到目前为止尝试了什么?window=window.orderBy(“指示器”)df.withColumn(“周数”),concat(lit('W'),ntile(53)。over(window)。cast(StringType())这将365天分成7天的相等部分