У меня есть DataFrame, который выглядит следующим образом:
+-----------+-----+------------+
| userID|group| features|
+-----------+-----+------------+
|12462563356| 1| [5.0,43.0]|
|12462563701| 2| [1.0,8.0]|
|12462563701| 1| [2.0,12.0]|
|12462564356| 1| [1.0,1.0]|
|12462565487| 3| [2.0,3.0]|
|12462565698| 2| [1.0,1.0]|
|12462565698| 1| [1.0,1.0]|
|12462566081| 2| [1.0,2.0]|
|12462566081| 1| [1.0,15.0]|
|12462566225| 2| [1.0,1.0]|
|12462566225| 1| [9.0,85.0]|
|12462566526| 2| [1.0,1.0]|
|12462566526| 1| [3.0,79.0]|
|12462567006| 2| [11.0,15.0]|
|12462567006| 1| [10.0,15.0]|
|12462567006| 3| [10.0,15.0]|
|12462586595| 2| [2.0,42.0]|
|12462586595| 3| [2.0,16.0]|
|12462589343| 3| [1.0,1.0]|
+-----------+-----+------------+
Где типы столбцов: userID: Long, group: Int и features:vector.
Это уже сгруппированный DataFrame, т. е. идентификатор пользователя появится в определенной группе не более одного раза.
Моя цель - масштабировать столбец features
для каждой группы.
Есть ли способ применить трансформатор функций (в моем случае я бы например применить StandardScaler) на группу strong> вместо того, чтобы применять его к полному фрейму данных.
P.S. использование ML не является обязательным, поэтому нет проблем, если решение основано на MLlib.