2016-05-04 9 views
3

Ich möchte einige grundlegende Stemming auf einer Spark-Dataframe-Spalte durch Ersetzen von Teilzeichenfolgen durchführen. Was ist der schnellste Weg, dies zu tun?Pyspark ersetzen Zeichenfolgen in Spark-Datenframe-Spalte

In meinem aktuellen Anwendungsfall habe ich eine Liste von Adressen, die ich normalisieren möchte. Zum Beispiel dieses Datenrahmen:

id  address 
1  2 foo lane 
2  10 bar lane 
3  24 pants ln 

id  address 
1  2 foo ln 
2  10 bar ln 
3  24 pants ln 
+0

Was ist Ihre Spark-Version? –

Antwort

18

für Spark 1.5 oder später werden würde, können Sie das functions Paket verwenden:

from pyspark.sql.functions import * 
newDf = df.withColumn('address', regexp_replace('address', 'lane', 'ln')) 

Schnell Erklärung:

  • Die Funktion withColumn wird aufgerufen, um dem Datenrahmen eine Spalte hinzuzufügen (oder zu ersetzen, falls der Name existiert).
  • Die Funktion regexp_replace generiert eine neue Spalte, indem alle Teilzeichenfolgen ersetzt werden, die dem Muster entsprechen.
Verwandte Themen