У меня есть датафрейм; как показано ниже:
Я пытаюсь создать новый файл с именем pt
, который будет иметь максимальное значение из столбцов pt1
-> pt5
Код:
mdf.withColumn("pt", greatest(*list(filter(lambda x: x.startswith('pt'), df.columns)))).show()
Это не работает, я полагаю, потому что я пытаюсь добавить список к сообщению dataframe Сообщение об ошибке
ValueError: наибольший должен занимать как минимум два столбца
Я пытаюсь получить все столбцы, имя которых начинается с
pt
и их значения
(mdf["colName"].startswith('pt'))
Сообщение об ошибке:
AnalysisException: 'Не удается разрешить имя столбца «colName» из числа
Как мне написать оператор SQL в кадре данных Spark; чтобы получить столбцы, соответствующие критериям, а затем получить из них наибольшее (максимальное) значение и присвоить их новому столбцу?