pyspark dataframe 字符串类型的某列如何去除所有的空格字符?
推荐方式
利用 spark dataframe 的 functions
包的 regexp_replace
函数即可搞定,示例如下:
from pyspark.sql.functions import regexp_replace
df = df.withColumn('query', regexp_replace('query', ' ', ''))
上述示例对 dataframe 的 query 列的字符串做首尾空格去除操作,完整示例代码如下:
from pyspark.sql import SparkSession
from pyspark.sql.functions import regexp_replace
spark_session = SparkSession.builder \
.appName('knowledgedict-dataframe') \
.master('local') \
.getOrCreate()
df = spark_session.createDataFrame(
schema=['query', 'content'],
data=[
(' bei jing ', ['product']),
(' tian jin ', ['product', 'article']),
(' shanghai ', ['article', 'person'])
]
)
df.show()
df = df.withColumn('query', regexp_replace('query', ' ', ''))
df.show()