2016-05-04 88 views
3

我想通過替換子字符串在Spark Dataframe列上執行一些基本的詞法分析。什麼是最快的方法來做到這一點?Pyspark替換Spark數據框列中的字符串

在我目前的用例中,我有一個我想要規範化的地址列表。例如該數據幀:

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

你的Spark版本是什麼? –

回答

18

火花1.5或更高版本,可以使用functions包:

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

快速的解釋:

  • 功能調用來向數據框中添加(或替換,如果名稱存在)列。
  • 函數regexp_replace將通過替換與模式匹配的所有子字符串來生成一個新列。
相關問題