2016-09-06 6 views
0

にヌルがそれにvalues1列を割り当てる方法values2列にNULL値がある場合、私は、したがって、次のデータスパークアサイン値列(パイソン)

+--------------------+-----+--------------------+ 
|    values|count|    values2| 
+--------------------+-----+--------------------+ 
|    aaaaaa| 249|    null| 
|    bbbbbb| 166|     b2| 
|    cccccc| 1680|   something| 
+--------------------+-----+--------------------+ 

を持っていると仮定するとしたら?だから、結果は次のようになります。

+--------------------+-----+--------------------+ 
|    values|count|    values2| 
+--------------------+-----+--------------------+ 
|    aaaaaa| 249|    aaaaaa| 
|    bbbbbb| 166|     b2| 
|    cccccc| 1680|   something| 
+--------------------+-----+--------------------+ 

私は、次のようなものを考えたが、それは仕事をdoesntの:

df.na.fill({"values2":df['values']}).show() 

私はそれを解決するには、この方法を発見したが、前方より明確なものがあるはずです。

def change_null_values(a,b): 
    if b: 
     return b 
    else: 
     return a 

udf_change_null = udf(change_null_values,StringType()) 

df.withColumn("values2",udf_change_null("values","values2")).show() 

答えて