У меня есть объект dataframe который выглядит как:Scala относительная частота
+--+----+----+----+----+----+----+----+----+----+-----+
|id|bin1|bin2|bin3|bin4|bin5|bin6|bin7|bin8|bin9|bin10|
+--+----+----+----+----+----+----+----+----+----+-----+
|a | 1|null|null|null|null| 1| 14| 91| 929| null|
|c | 4| 2| 5| 82| 49| 176| 222| 439|null| null|
|f | 1| 1|null|null| 2| 8| 226| 294| 2| null|
|e |null| 1| 2|null| 4| 13| 19| 242| 752| 1|
|y | 1| 1| 3| 9| 11| 17| 136| 664| 338| null|
|e | 4| 2| 1| 8| 14| 169| 952| 431|null| null|
Как я могу заменить абсолютные значения с относительными значениями (частоты)?
Редактировать: После преобразования, объект dataframe для первой строки должен выглядеть следующим образом:
+--+----+----+----+----+----+----+-----+------+-----+-----+
|id|bin1|bin2|bin3|bin4|bin5|bin6|bin7 |bin8 |bin9 |bin10|
+--+----+----+----+----+----+----+-----+------+-----+-----+
|a | 0.0|null|null|null|null| 0.0| 0.01| 0.09| 0.90| null|
Алгоритм должен разделить каждое значение ячейки суммы ряда. После этого преобразования сумма строки всегда равна 1.
Я думаю, что могу достичь этого с помощью карты, но я понятия не имею, как это сделать.
Было бы полезно, если бы вы могли бы показать, что ожидаемый результат должен выглядеть следующим образом. – Brian
Спасибо за ваш комментарий. Я отредактировал свой пост и надеюсь, что он станет более понятным. – cronoik
Можете ли вы добавить то, что вы пробовали? И это домашнее задание? – Jeremy