Максимум две колонки в Pyspark

#dataframe #pyspark

Вопрос:

это должно быть довольно просто, но я все еще не нашел способа. Я должен вычислить новый столбец с максимальным значением столбцов col1 и col2. Поэтому, если col1 равно 2, а col2 равно 4, в new_col должно быть 4. И так далее. Это в фрейме данных Pyspark. Я попытался df=df.withColumn("new_col",max("col1","col2")) , но получил ошибку «_() принимает 1 позиционный аргумент, но было дано 2». Итак, каков был бы правильный путь? Заранее спасибо.

Ответ №1:

вы можете попробовать с greatest :

 from pyspark.sql import functions as F
output = df.withColumn("new_col",F.greatest(*["col1","col2"]))