2016-07-19 13 views
1

Ich habe die folgende Funktion udf in pyspark Dataframe. Der Code funktioniert gut, außer wenn myFun1('oldColumn') null ist, möchte ich die Ausgabe als leere Zeichenfolge anstelle von null.pyspark/dataframe: Ersetze null durch Leerzeichen

myFun1 = udf(lambda x: myModule.myFunction1(x), StringType()) 
myDF = myDF.withColumn('newColumn', myFun1('oldColumn')) 

Ist es möglich, dies an Ort und Stelle zu tun, anstatt eine andere udf-Funktion zu erstellen? Vielen Dank!

Antwort

0

Mit df.fillna() oder df.na.fill() NULL-Werte durch eine leere Zeichenfolge zu ersetzen arbeitete für mich.

Sie können, indem Sie die Spalte und Wert, den Sie durch Spalte Ersatz tun wollen nulls ersetzen als Parameter:

myDF = myDF.na.fill({'oldColumn': ''}) 

Die Pyspark docs haben an example:

>>> df4.na.fill({'age': 50, 'name': 'unknown'}).show() 
+---+------+-------+ 
|age|height| name| 
+---+------+-------+ 
| 10| 80| Alice| 
| 5| null| Bob| 
| 50| null| Tom| 
| 50| null|unknown| 
+---+------+-------+ 
Verwandte Themen