我有一个包含多个列的dataframe。
>>> 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 dataframe所有列的字符?(Pandas版本如下所示)
df = df.replace({'{':'', '}':''}, regex=True)
型
3条答案
按热度按时间8fsztsew1#
使用正则表达式:
字符串
rlcwz9us2#
要修改 Dataframe
df
并将regexp_replace
应用于listOfColumns
给定的多个列,您可以使用foldLeft,如下所示:字符串
xcitsw883#
要将列表达式应用于PySpark中 Dataframe 的每一列,可以将Python的列表解析与Spark的
select
一起使用。例如:字符串
完整示例:
型