Gewusst wie: ersetzen von null-Werten mit einem bestimmten Wert im Dataframe mit Funken in Java?
Ich versuche der Verbesserung der Genauigkeit der Logistischen regression-Algorithmus implementiert Spark mit Java. Für dies bin ich versucht zu ersetzen Null oder ungültige Werte vorhanden, die in einer Spalte mit dem häufigsten Wert der Spalte. Zum Beispiel:-
Name|Place
a |a1
a |a2
a |a2
|d1
b |a2
c |a2
c |
|
d |c1
In diesem Fall werde ich alle ersetzen, die NULL-Werte in der Spalte "Name" mit " a " und in der Spalte "Ort" mit 'a2'. Bis jetzt bin ich in der Lage zu extrahieren nur die häufigsten die Spalten in einer bestimmten Spalte. Können Sie mir bitte helfen mit dem zweiten Schritt, wie ersetzen Sie die null oder ungültige Werte mit den häufigsten Werten der Spalte.
InformationsquelleAutor PirateJack | 2017-06-21
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie
.na.fill
- Funktion (es ist eine Funktion in org.apache.spark.sql.DataFrameNaFunctions).Grundsätzlich die Funktion, die Sie brauchen, ist:
def fill(value: String, cols: Seq[String]): DataFrame
Können Sie wählen Sie die Spalten aus, und wählen Sie den Wert, den Sie möchten, ersetzen Sie die null oder NaN.
In deinem Fall wird es etwas sein wie:
Sorry, habe ich nicht verwenden es in Java, aber können Sie finden hier die jeweils aktuelle version der Dokumentation Funke, und Sie können sehen, die DataFrameNaFunctions es: spark.apache.org/docs/latest/api/java/index.html wahrscheinlich versuchen zu füllen, ohne .na
kannst du bitte akzeptieren Sie die Antwort, wenn es dein problem gelöst hat?
InformationsquelleAutor Rami
Werden Sie wollen, verwenden Sie die fill(String Wert, String[] Spalten) - Methode des dataframe, die automatisch ersetzt Null-Werte in einer vorgegebenen Liste von Spalten mit dem Wert, den Sie angegeben haben.
Also, wenn Sie bereits wissen, den Wert, den Sie ersetzen möchten, und Null mit...:
Können Sie das gleiche tun für den rest der Spalten.
Ich aktualisiert meine Antwort zu umfassen .na Teil. Sie könnten auch versuchen: df.na.füllen(ImmutableMap.("ColumnName", "wird replacementvalue", "egName", "egA");
Vielen Dank für die Hilfe. Ich war in der Lage, implementieren es mit den scala-Sequenz-Bibliotheken. Ich werde das update in meiner Antwort.
InformationsquelleAutor Dan Carter
Können Sie
DataFrame.na.fill()
zu ersetzen Sie die null mit einem WertNach update auf einmal können Sie tun, wie
Aber wenn Sie möchten, ersetzen Sie einen fehlerhaften Eintrag zu, dann müssen Sie überprüfen die schlechten Aufnahmen zunächst. Sie können dies tun, durch die Verwendung regulärer Ausdruck mit
like
Funktion.können wir dies auf der Grundlage der Bedingung wie -> füllen column2 "nur wenn col1 ist nicht null"?
InformationsquelleAutor Shankar Koirala
Ersetzt NULL-Werte mit einer bestimmten Zeichenfolge, die ich verwendet habe
fill
Funktion vorhanden Zündkerzen für Java. Er akzeptiert das Wort ersetzt werden, und eine Reihenfolge der Spaltennamen. Hier ist, wie ich realisiert, dass:-InformationsquelleAutor PirateJack