pyspark 中列名的字符串操作
string manipulation for column names in pyspark
这篇文章很好地概述了如何更改列名。
尽管如此,我还需要做一些我做不到的/稍微调整一下。任何人都可以帮助删除所有 colnames 中的空格吗?它需要例如join 命令和系统方法减少了处理 30 列的工作量。我认为正则表达式和 UDF 的组合效果最好。
示例:
根
|-- 客户:字符串(可为空 = 真)
|-- 分支编号:字符串 (nullable = true)
有一个真正简单的解决方案:
for name in df.schema.names:
df = df.withColumnRenamed(name, name.replace(' ', ''))
如果您想使用与前缀(或后缀)连接的相同列名重命名多个列,这应该有效
df.select([f.col(c).alias(PREFIX + c) for c in columns])
这篇文章很好地概述了如何更改列名。
尽管如此,我还需要做一些我做不到的/稍微调整一下。任何人都可以帮助删除所有 colnames 中的空格吗?它需要例如join 命令和系统方法减少了处理 30 列的工作量。我认为正则表达式和 UDF 的组合效果最好。
示例: 根 |-- 客户:字符串(可为空 = 真) |-- 分支编号:字符串 (nullable = true)
有一个真正简单的解决方案:
for name in df.schema.names:
df = df.withColumnRenamed(name, name.replace(' ', ''))
如果您想使用与前缀(或后缀)连接的相同列名重命名多个列,这应该有效
df.select([f.col(c).alias(PREFIX + c) for c in columns])