如何替换 Pyspark 中的特殊字符?
How to replace special charachters in Pyspark?
我是 Pyspark 的新手,我正在尝试使用 Pyspark 进行一些文本预处理。
我有一列 Name
和 ZipCode
属于 spark 数据框 new_df
。 'Name' 列包含 WILLY:S MALMÖ, EMPORIA
等值,ZipCode
列包含 123 45
等值,这也是一个字符串。我想做的是删除 :
、,
等字符,并删除 ZipCode
之间的 space。
我尝试了以下但似乎没有任何效果:
new_df = new_df.withColumn('Name', sfn.regexp_replace('Name', r',' , ' '))
new_df = new_df.withColumn('ZipCode', sfn.regexp_replace('ZipCode', r' ' , ''))
我也尝试了来自 SO 和其他网站的其他东西。似乎没有任何效果。
用[,|:]
匹配,
或:
,替换成space ' '
in Name 列和 zipcode 搜索 space ' '
并替换为空字符串 ''
.
Example:
new_df.show(10,False)
#+-----------------------+-------+
#|Name |ZipCode|
#+-----------------------+-------+
#|WILLY:S MALMÖ, EMPORIA|123 45 |
#+-----------------------+-------+
new_df.withColumn('Name', regexp_replace('Name', r'[,|:]' , ' ')).\
withColumn('ZipCode', regexp_replace('ZipCode', r' ' , '')).\
show(10,False)
#or
new_df.withColumn('Name', regexp_replace('Name', '[,|:]' , ' ')).\
withColumn('ZipCode', regexp_replace('ZipCode', '\s+' , '')).\
show(10,False)
#+-----------------------+-------+
#|Name |ZipCode|
#+-----------------------+-------+
#|WILLY S MALMÖ EMPORIA|12345 |
#+-----------------------+-------+
我是 Pyspark 的新手,我正在尝试使用 Pyspark 进行一些文本预处理。
我有一列 Name
和 ZipCode
属于 spark 数据框 new_df
。 'Name' 列包含 WILLY:S MALMÖ, EMPORIA
等值,ZipCode
列包含 123 45
等值,这也是一个字符串。我想做的是删除 :
、,
等字符,并删除 ZipCode
之间的 space。
我尝试了以下但似乎没有任何效果:
new_df = new_df.withColumn('Name', sfn.regexp_replace('Name', r',' , ' '))
new_df = new_df.withColumn('ZipCode', sfn.regexp_replace('ZipCode', r' ' , ''))
我也尝试了来自 SO 和其他网站的其他东西。似乎没有任何效果。
用[,|:]
匹配,
或:
,替换成space ' '
in Name 列和 zipcode 搜索 space ' '
并替换为空字符串 ''
.
Example:
new_df.show(10,False)
#+-----------------------+-------+
#|Name |ZipCode|
#+-----------------------+-------+
#|WILLY:S MALMÖ, EMPORIA|123 45 |
#+-----------------------+-------+
new_df.withColumn('Name', regexp_replace('Name', r'[,|:]' , ' ')).\
withColumn('ZipCode', regexp_replace('ZipCode', r' ' , '')).\
show(10,False)
#or
new_df.withColumn('Name', regexp_replace('Name', '[,|:]' , ' ')).\
withColumn('ZipCode', regexp_replace('ZipCode', '\s+' , '')).\
show(10,False)
#+-----------------------+-------+
#|Name |ZipCode|
#+-----------------------+-------+
#|WILLY S MALMÖ EMPORIA|12345 |
#+-----------------------+-------+