2017-03-08 4 views
0

Ich verwende diese Beispieldaten, die fehlende Werte in verschiedenen Spalten enthält, und ich möchte alle Zeilen entfernen, die fehlenden Wert enthält.So entfernen Sie fehlende Werte in Pyspark

enter image description here

Daten Beschreibung ist:

enter image description here

ich online habe gesucht und scheint, wie dropna funktioniert nur für Datenrahmen. Aber wenn ich einen Datenrahmen erstellen, ich bekam eine Fehlermeldung enter image description here

auto_DF_prep = auto_RDD.map(lambda e: Row(mpg = float(e[0]), cylinders = int(e[1]), displacement = float(e[2]), horsepower = float(e[3]), weight = float(e[4]), acceleration = float(e[5]), year = int(e[6]), origin = int(e[7]), name = e[8])) 

Ich denke, es ist wegen der NA, kann ich nicht einen Datenrahmen erstellen. Wie soll ich vorgehen? Danke im Voraus!

Antwort

0

auto Unter der Annahme ist ein DataFrame

auto.na.drop()

Siehe: DataFrame.dropna()

+0

So, hier ist was ich getan habe 'auto = sc.textFile ("file: ///home/cloudera/Downloads/auto_mpg_original.csv") auto_RDD = auto. flatMap (Lambda x: x.split (",")) 'Jetzt erstelle ich eine RDD. Dann habe ich versucht, einen DF mit dem Code im ursprünglichen Post 'auto_DF_prep = ...' zu erstellen, aber diesen Fehler bekommen. Wie kann ich einen Datenrahmen erstellen? – vivi11130704

+0

Das hängt davon ab, ob Sie Spark 2.x verwenden –

0

NA in Ihrer CSV-Datei nur gleich str('NA'), die keine nicht-Zahlenwert darstellt.

Ein Nullwert verwendet leere Zeichenfolge auf csv

Verwandte Themen