Я новичок в Scala, и я хотел бы понять некоторые базовые вещи.
Прежде всего, мне нужно вычислить среднее определенного столбца DataFrame и использовать результат как переменную двойного типа,
После некоторых исследований в Интернете мне удалось вычислить среднее значение и одновременно передать его в Тип списка Любой с помощью следующей команды:
val avgX_List = mainDataFrame.groupBy().agg(mean("_c1")).collect().map(_(0)).toList
где " _c1 " - это второй столбец моего кадра данных .Эта строка кода возвращает список с типом List [Any] .
Чтобы передать результат в переменную, я использовал следующую команду:
var avgX = avgX_List(0)
, надеясь, что var avgX автоматически наберет тип double, но этого явно не произошло.
Итак, теперь давайте начнем вопросы:
Что означает map(_(0)) do
?Я знаю базовое определение преобразования map()
, но не могу найти объяснения с этим точным аргументом
Я знаю, что с помощью метода .toList
в конце командымоим результатом будет список типа Any
.Есть ли способ, которым я мог бы изменить это в список, который содержит элементы типа Double
?Или даже преобразовать этот
Как вы думаете, было бы гораздо более уместным передать столбец моего Dataframe в List [Double], а затем вычислить среднее его элементов?
Является ли решение, которое я показал выше, с какой-либо точки зрения, правильным, основываясь на моей проблеме?Я знаю, что «это работает» отличается от «правильного решения»?
Подводя итог, мне нужно вычислить среднее значение для определенного столбца Dataframe и получить результат в видепеременная двойного типа.
Обратите внимание: я - грек, и иногда мне трудно понять какой-то английский код "сленг".