Dataframe 我不知道';我不知道如何在数据帧中进行条件分支
我想用window函数执行条件分支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.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'