Dataframe 如何使用pyspark获取使用年份和日期的周数?

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|

我正在尝试向表中添加行号。我需要为数据帧中的前7行添加1,然后为数据帧中的后7行添加2,依此类推。例如,请参考数据框中的最后一列。 我基本上是根据一年中的某一天和某一年的某一天来获取周数

  +-----------+---------------+----------------+------------------+---------+
  |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天的相等部分