Dataframe 我不知道';我不知道如何在数据帧中进行条件分支

Dataframe 我不知道';我不知道如何在数据帧中进行条件分支,dataframe,apache-spark,pyspark,Dataframe,Apache Spark,Pyspark,我想用window函数执行条件分支 window = Window.partitionBy("row").orderBy(f.col("date").desc()) todo_code = df.withColumn("number", f.when(f.col('row') == 2), f.row_number().over(window).filter(f.col("number") <= 3))

我想用window函数执行条件分支

window = Window.partitionBy("row").orderBy(f.col("date").desc())
todo_code = df.withColumn("number",
  f.when(f.col('row') == 2),
  f.row_number().over(window).filter(f.col("number") <= 3))
 .otherwise(f.row_number().over(window).filter(f.col("number") <= 1))))
我们希望将此类数据转换为下表

df

一行 数 测试 2. 一行 A. 2. 一行 A. 2. 一行 A. 1. 一行 B 2. 一行 B 2. 一行 B
你能出示一些样品数据吗?很难理解你们想要实现什么。这个问题已经解决了。我仍然不清楚。为什么要将
.filter
放在
行数
之后?不能筛选行号。您只能筛选数据帧。
when() missing 1 required positional argument: 'value'
Traceback (most recent call last):
TypeError: when() missing 1 required positional argument: 'value'