将pyspark数据框的列转换为小写

Posted

技术标签:

【中文标题】将pyspark数据框的列转换为小写【英文标题】:convert columns of pyspark data frame to lowercase 【发布时间】:2017-03-24 17:32:17 【问题描述】:

我在 pyspark 中有一个数据框,其中有大写的列,如 IDCOMPANY

我想将这些列名称设为idcompany 等等。根据需要将所有列转换为小写或大写。

我希望列的数据类型保持不变。

我们该怎么做?

【问题讨论】:

【参考方案1】:

使用来自 DataFrame 的 columns 字段

df = // load
for col in df.columns:
    df = df.withColumnRenamed(col, col.lower())

或者,正如@zero323 建议的那样:

df.toDF(*[c.lower() for c in df.columns])

【讨论】:

df.toDF(*[c.lower() for c in df.columns]) 会更便宜且(可以说更优雅) @zero323 - 谢谢,我已经编辑了答案。我必须更多地学习 Python ;) 您也可以使用生成器理解而不是构建列表,即执行df.toDF(*(c.lower() for c in df.columns))

以上是关于将pyspark数据框的列转换为小写的主要内容,如果未能解决你的问题,请参考以下文章

将 PySpark 数据框的列与标量相乘

将列字典从不同的数据帧转换为数据帧:pyspark

如何在pyspark中将JSON字符串转换为JSON对象

PySpark:将 RDD 转换为数据框中的列

使用 pyspark 将 Spark 数据框中的列转换为数组 [重复]

PySpark 将“map”类型的列转换为数据框中的多列