【问题标题】:How to remove the space and dots and convert into lowercase如何删除空格和点并转换为小写
【发布时间】:2022-06-10 17:49:39
【问题描述】:

我有一个名称如下的 pyspark 数据框

N. Plainfield  
North Plainfield
West Home  Land 
NEWYORK
newyork
So. Plainfield
S.  Plaindield

其中一些在首字母之间包含点和空格,而有些则没有。它们如何转换为:

 n Plainfield  
 north plainfield
 west homeland
 newyork 
 newyork
 so plainfield
 s plainfield

(首字母和姓名之间没有点和空格,首字母和姓名之间有 1 个空格)

我尝试使用以下内容,但它只替换点并且不会删除首字母之间的空格:

names_modified = names.withColumn("name_clean", regexp_replace("name", r"\.",""))

删除空格和点后,有什么方法可以得到不同的值。 像这样。

north plainfield
west homeland 
newyork
so plainfield
 

【问题讨论】:

    标签: dataframe apache-spark pyspark apache-spark-sql regexp-replace


    【解决方案1】:

    我认为你应该分步。

    1. 从大写到小写

    2. 使用 regex_replace 函数替换点

       from pyspark.sql.functions import *
      
       # from uppercase to lowercase
       names_modified = names_modified.withColumn('name', lower('name'))
       # from dot to blink
       names_modified = names_modified.withColumn('name_clean', regex_replace('name', '.', ' '))
      

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-12-13
      • 2018-05-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-15
      • 1970-01-01
      • 2016-04-27
      • 1970-01-01
      相关资源
      最近更新 更多