Pyspark 为什么最大的函数会抛出错误

Pyspark 为什么最大的函数会抛出错误,pyspark,pyspark-sql,pyspark-dataframes,Pyspark,Pyspark Sql,Pyspark Dataframes,我有一个数据框;它有多个名为fib_1、fib_3、fib_5等的列 我正在尝试创建一列Fib,其值为maxfib_1、Fib_2、Fib_3 我得到以下错误: ValueError:最大值应至少包含两列 fib_1、fib_2、fib_2的值分别为0和1 dataframe还有其他具有不同数据类型的列您必须添加*才能解压缩传递给最大函数的列列表 如果查看,它将*cols作为参数: pyspark.sql.functions.grest*cols 所以只要使用: df.withColumn("F

我有一个数据框;它有多个名为fib_1、fib_3、fib_5等的列

我正在尝试创建一列Fib,其值为maxfib_1、Fib_2、Fib_3

我得到以下错误:

ValueError:最大值应至少包含两列

fib_1、fib_2、fib_2的值分别为0和1

dataframe还有其他具有不同数据类型的列

您必须添加*才能解压缩传递给最大函数的列列表

如果查看,它将*cols作为参数:


pyspark.sql.functions.grest*cols

所以只要使用:

df.withColumn("Fib", greatest(*list(filter(lambda x: x.startswith('fib_'), df.columns)))).show()

pyspark.sql.functions.greatest*cols-不起作用..它抛出错误。另外,我想我正在尝试向数据帧添加一个列表……这个逻辑在某个地方被打破了
df.withColumn("Fib", greatest(*list(filter(lambda x: x.startswith('fib_'), df.columns)))).show()