2016-03-08 13 views

Odpowiedz

5
from pyspark.sql import functions as F 

df = sqlContext.createDataFrame([ 
    (1, "a"), 
    (2, "b"), 
    (3, "c"), 
], ["ID", "Text"]) 

categories = df.select("Text").distinct().rdd.flatMap(lambda x: x).collect() 

exprs = [F.when(F.col("Text") == category, 1).otherwise(0).alias(category) 
     for category in categories] 

df.select("ID", *exprs).show() 

Wyjście

+---+---+---+---+ 
| ID| a| b| c| 
+---+---+---+---+ 
| 1| 1| 0| 0| 
| 2| 0| 1| 0| 
| 3| 0| 0| 1| 
+---+---+---+---+ 
+0

Traceback (najnowsza wezwanie ostatni): Plik "", linia 2, w NameError: nazwa 'F' nie jest zdefiniowane –

+1

Co jest tutaj F? –

+1

from pyspark.sql importuje funkcje jako F –