Я новичок в scala и не знаю, как задать такой вопрос (техническое слово ...). У меня есть кадр данных:
id VehicleID Longitude Latitude Date Distance
1 12311 55.55431 25.45631 01/02/2020 20
2 12311 55.55432 25.45634 01/02/2020 80
3 12311 55.55433 25.45637 02/02/2020 10
4 12311 55.55431 25.45621 02/02/2020 50
5 12309 55.55427 25.45627 01/02/2020 30
6 12309 55.55436 25.45655 02/02/2020 20
7 12412 55.55441 25.45657 01/02/2020 14
8 12412 55.55442 25.45656 02/02/2020 60
Я хочу рассчитать среднее и стандартное отклонение каждого блока Например,
VehicleID Longitude Latitude Date Distance Mean
12311 55.55431 25.45631 01/02/2020 20 -
12311 55.55432 25.45634 01/02/2020 80 -
VehicleID Longitude Latitude Date Distance Mean
12311 55.55433 25.45637 02/02/2020 10
12311 55.55431 25.45621 02/02/2020 50
VehicleID Longitude Latitude Date Distance Mean
12309 55.55427 25.45627 01/02/2020 30 -
VehicleID Longitude Latitude Date Distance Mean
12309 55.55436 25.45655 02/02/2020 20 -
И то же самое для стандартного отклонения
Я пробовал это, но у меня не получается
val w = Window.partitionBy("vehicle_id", "Date").orderBy("id")
val m = dataframe_final.withColumn("mean",col("Distance").over(w).cast("double")).as[Double].rdd.mean()
Как я могу это сделать?
Спасибо