Как выбрать наибольшее значение из кадра данных на основе столбцов, которые соответствуют определенным критериям - PullRequest
0 голосов
/ 02 марта 2020

У меня есть датафрейм; как показано ниже:

dataframe

Я пытаюсь создать новый файл с именем pt, который будет иметь максимальное значение из столбцов pt1 -> pt5

Код:

  1. 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; чтобы получить столбцы, соответствующие критериям, а затем получить из них наибольшее (максимальное) значение и присвоить их новому столбцу?

...