当前位置: 首页 > 知识库问答 >
问题:

pyspark中列名的字符串操作

邓声
2023-03-14

这篇文章给出了一个关于如何更改列名的很好的概述。如何在PySpark中更改dataframe列名?

不过,我需要一些更多的/稍微调整,我没有能力做。有人能帮我删除所有colnames中的空格吗?它需要例如连接命令,系统方法减少了处理30列的工作量。我认为regex和UDF的组合最好。

示例:root--客户机:string(nullable=true)--分支号:string(nullable=true)

共有1个答案

吕昀
2023-03-14

有一个真正简单的解决方案:

for name in df.schema.names:
  df = df.withColumnRenamed(name, name.replace(' ', ''))
 类似资料:
  • 问题内容: 我有一个由pyspark数据框组成的一列,称为,其中每一行都是json的unicode字符串。我想解析每一行并返回一个新的数据框,其中每一行都是解析的json。 我已经尝试过使用: 但这返回一个 我怀疑是问题的一部分是从转换时到,架构信息丢失,所以我也尝试手动进入该模式的信息: 但是我也一样。 看着这个答案,似乎在这里将行扁平化可能很有用,但是我也没有成功: 我收到此错误:。 问题答案

  • 问题内容: 我想通过替换子字符串对Spark Dataframe列执行一些基本的处理。最快的方法是什么? 在当前的用例中,我有一个要规范化的地址列表。例如,此数据框: 会成为 问题答案: 对于Spark 1.5或更高版本,可以使用功能包: 快速说明: 调用该函数可在数据框中添加(或替换,如果名称存在)列。 该函数将通过替换所有与模式匹配的子字符串来生成新列。

  • 问题内容: 我有一个pyspark数据框为 并且需要按行连接患者姓名,以便获得如下输出: 有人可以帮我有关在pyspark中创建此数据框吗? 提前致谢。 问题答案: 我能想到的最简单的方法是使用

  • 我不是RDD方面的专家,正在寻找一些答案,我试图在pyspark RDD上执行一些操作,但无法实现,特别是子串。我知道我可以通过将RDD转换为DF来做到这一点,但想知道在DF时代之前是如何做到这一点的?公司仍然更喜欢在RDD或数据帧中工作吗? 我的代码: 数据样本: 完整的错误消息: org.apache.spark.SparkException:由于阶段失败而中止作业:阶段50.0中的任务0失败

  • 问题 你想在字节字符串上执行普通的文本操作(比如移除,搜索和替换)。 解决方案 字节字符串同样也支持大部分和文本字符串一样的内置操作。比如: >>> data = b'Hello World' >>> data[0:5] b'Hello' >>> data.startswith(b'Hello') True >>> data.split() [b'Hello', b'World'] >>> dat