重命名dataframe PypSpark中的列并添加字符串

重命名dataframe PypSpark中的列并添加字符串,dataframe,pyspark,Dataframe,Pyspark,我已经使用Pandas编写了Python代码,在列名的开头添加了“venu” Tablon.columns = "VEN_" + Tablon.columns 它工作得很好,但现在我和PySpark一起工作,它不工作。 我试过: Vaa_total.columns = ['Vaa_' + col for col in Vaa_total.columns] 或 还有其他类似的事情,但它不起作用 我不想替换列名,我只想保留它,但要在开头添加一个字符串。尝试以下操作: for elemento i

我已经使用Pandas编写了Python代码,在列名的开头添加了“venu”

Tablon.columns = "VEN_" + Tablon.columns
它工作得很好,但现在我和PySpark一起工作,它不工作。 我试过:

Vaa_total.columns = ['Vaa_' + col for col in Vaa_total.columns]

还有其他类似的事情,但它不起作用


我不想替换列名,我只想保留它,但要在开头添加一个字符串。

尝试以下操作:

for elemento in Vaa_total.columns:
    Vaa_total =Vaa_total.withColumnRenamed(elemento, "Vaa_" + elemento)

我在评论中链接了类似的话题。 下面是一个从该主题改编为您的任务的示例:

dataframe.select([col(col_name).alias('VAA_' + col_name) for col_name in dataframe])

我不这么认为,有人解释了如何替换它,但我不知道如何在列名中添加字符串,我得到:AttributeError:无法设置属性。查看选项2或3。这正是你需要的。是的,你是对的!
dataframe.select([col(col_name).alias('VAA_' + col_name) for col_name in dataframe])