2016-07-19 73 views
1

私はpysparkデータフレームに以下のudf関数を持っています。コードはmyFun1('oldColumn')がnullの場合を除いて正常に動作しますが、出力をnullではなく空の文字列にします。pyspark/dataframe:nullを空のスペースに置き換えてください。

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

別のudf関数を作成する代わりに、これを行うことはできますか?ありがとう!

答えて

0

ヌル値を空の文字列に置き換えると、df.fillna()またはdf.na.fill()を使用して私のために働きました。

あなたがパラメータとしてでヌルを交換したい列と値を供給することにより、カラムによる置換を行うことができます。

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

Pysparkのドキュメントが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| 
+---+------+-------+ 
関連する問題