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

10 python apache-spark pyspark spark-dataframe

我在pyspark中有一个数据框,其中包含大写的列ID,COMPANY依此类推

我想将这些列名称设为id company等等.根据要求将所有列细菌转换为小写或大写.

我想这样做,列的数据类型保持不变.

我们怎么做?

T. *_*ęda 18

使用columnsDataFrame中的字段

df = // load
for col in df.columns:
    df = df.withColumnRenamed(col, col.lower())
Run Code Online (Sandbox Code Playgroud)

或者,正如@ zero323建议:

df.toDF(*[c.lower() for c in df.columns])
Run Code Online (Sandbox Code Playgroud)

  • 对于`df.toDF(*[c.lower()对于df.columns中的c)来说会便宜得多(可以说更优雅)) (5认同)
  • 您还可以使用生成器理解而不是构建列表,即执行 `df.toDF(*(c.lower() for c in df.columns))` (3认同)
  • @ zero323 - 谢谢,我编辑了答案.我必须学习更多Python;) (2认同)