python - 如何替换 spark 数据框所有列中的多个字符?

标签 python pandas apache-spark apache-spark-sql

我有一个包含多列的数据框。

>>> df.take(1)
[Row(A=u'{dt:dt=string, content=Prod}', B=u'{dt:dt=string, content=Staging}')]

我想从 df 的 A 列和 B 列的值中删除花括号“{”和“}”。我知道我们可以使用:

df.withColumn('A',regexp_replace('A','//{',''))
df.withColumn('A',regexp_replace('A','//}',''))
df.withColumn('B',regexp_replace('B','//}',''))

如何为 Spark 数据帧的所有列动态替换字符? ( Pandas 版如下图)

df = df.replace({'{':'','}':''},regex=True)

最佳答案

只需使用正确的正则表达式:

df.withColumn("A", regexp_replace("A", "[{}]", ""))

关于python - 如何替换 spark 数据框所有列中的多个字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47361665/

相关文章:

python - 根据值列移动文件python

Python PyX 绘图 : change axes tick text color

python-3.x - Pandas 数据框根据组替换列值

python - 从 pandas 数据框构造 URL 查询

apache-spark - 令人震惊的 : RDD. zip() 方法

apache-spark - Cassandra datastax 驱动程序连接突然终止

python - sqlalchemy 测试 : adding same user twice not throwing exception when unique=True

Python 错误无法从空轴中执行非空取值

hadoop - 如何配置 pyspark 默认写入 HDFS?

python 类。 key 作为 self.key 存在,但不存在于 self.__dict__ 中