Ich habe einen Datenrahmen Objekt, das wie folgt aussieht:Scala relative Häufigkeit
+--+----+----+----+----+----+----+----+----+----+-----+
|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|
Wie kann ich die absoluten Werte mit relativen Werten (Frequenz) ersetzen?
Edit: Nach der Transformation der Datenframe-Objekt für die erste Zeile sollte wie folgt aussehen:
+--+----+----+----+----+----+----+-----+------+-----+-----+
|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|
Der Algorithmus jeden Wert einer Zelle durch die Summe der Reihe teilen sollte. Nach dieser Transformation ist die Summe einer Zeile immer 1.
Ich denke, ich kann es mit Karte erreichen, aber ich habe keine Ahnung, wie es geht.
Es wäre hilfreich, wenn Sie, was die erwartete Ausgabe aussehen soll zeigen können. – Brian
Vielen Dank für Ihren Kommentar. Ich habe meinen Beitrag bearbeitet und hoffe, es wird klarer. – cronoik
Können Sie hinzufügen, was Sie bisher versucht haben? Und, ist das Hausaufgaben? – Jeremy