Pyspark 中最多两列

问题描述 投票:0回答:1

这应该很简单,但我还是没有找到方法。我必须计算一个新列,其值为列 col1 和 col2 的最大值。因此,如果 col1 为 2,col2 为 4,则 new_col 应该为 4。依此类推。它位于 Pyspark 数据框中。 我尝试了

df=df.withColumn("new_col",max("col1","col2"))
,但收到错误“_() 需要 1 个位置参数,但给出了 2 个”。那么正确的方法是什么呢? 预先感谢。

dataframe pyspark
1个回答
11
投票

你可以尝试使用

greatest
:

from pyspark.sql import functions as F
output = df.withColumn("new_col", F.greatest("col1","col2"))
© www.soinside.com 2019 - 2024. All rights reserved.