这应该很简单,但我仍然没有找到方法。我必须计算一个新列,其值为列 col1 和 col2 的最大值。因此,如果 col1 为 2,col2 为 4,则 new_col 应该为 4。依此类推。它位于 Pyspark 数据框中。我尝试过df=df.withColumn("new_col",max("col1","col2")),但收到错误“_() 需要 1 个位置参数,但给出了 2 个”。那么正确的方法是什么呢?提前致谢。
你可以尝试greatest:
from pyspark.sql import functions as F
output = df.withColumn("new_col",F.greatest(*["col1","col2"]))
Run Code Online (Sandbox Code Playgroud)