python - Pyspark 替换 Spark 数据框列中的字符串

标签 python apache-spark pyspark

我想通过替换子字符串对 Spark Dataframe 列执行一些基本的词干提取。最快的方法是什么?

在我当前的用例中,我有一个要规范化的地址列表。例如这个数据框:

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

最佳答案

对于 Spark 1.5 或更高版本,您可以使用 functions包装:

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

快速解释:

  • 调用函数 withColumn 以向数据框中添加(或替换,如果名称存在)一列。
  • 函数 regexp_replace 将通过替换所有匹配模式的子字符串来生成一个新列。

关于python - Pyspark 替换 Spark 数据框列中的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37038014/

相关文章:

python - 如何更改多列的数据类型?

python - 如何在 mod_python 中编写跨请求工作的单例类?

python - 根据条件替换Json字符串中的信息

Python POST 请求直到在谷歌应用引擎上等待超时时间后才发送请求

apache-spark - Hadoop - Elasticsearch - Spark 版本兼容性

python - PySpark 在映射 lambda 中序列化 'self' 引用对象?

pyspark - 读取文件并将其附加到 spark 数据框中

scala - Spark 广播错误 : exceeds spark. akka.frameSize 考虑使用广播

python - Pyspark 出现类型错误 : can’t pickle _abc_data objects

pyspark - PySpark 中的 Python 字典查找