#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"]))