Python 将pyspark数据帧的列转换为小写
我在pyspark中有一个数据框,它有大写的列,如Python 将pyspark数据帧的列转换为小写,python,apache-spark,pyspark,spark-dataframe,Python,Apache Spark,Pyspark,Spark Dataframe,我在pyspark中有一个数据框,它有大写的列,如ID,COMPANY等等 我想将这些列名设置为id公司等等。根据需要将所有列转换为小写或大写 我希望这样做,使列的数据类型保持不变 我们如何做到这一点?使用DataFrame中的列字段 df = // load for col in df.columns: df = df.withColumnRenamed(col, col.lower()) 或者,正如@zero323所建议的那样: df.toDF(*[c.lower() for c
ID
,COMPANY
等等
我想将这些列名设置为id
公司
等等。根据需要将所有列转换为小写或大写
我希望这样做,使列的数据类型保持不变
我们如何做到这一点?使用DataFrame中的
列
字段
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()表示df.columns中的c])
@zero323,会更便宜(可以说更优雅)df.toDF(*[c.lower()表示df.columns中的c])@zero323-谢谢,我已经编辑了答案。我必须学更多的Python;)您还可以使用生成器理解而不是构建列表,即dodf.toDF(*(c.lower()表示df.columns中的c))