Pyspark 如何从spark dataframe重命名列?
我在sparksession中有一个小数据帧,我想更改列名Pyspark 如何从spark dataframe重命名列?,pyspark,apache-spark-sql,Pyspark,Apache Spark Sql,我在sparksession中有一个小数据帧,我想更改列名 my_sess.sql('SELECT * from data LIMIT 10').show() +---+---+---+---+ | 0| 1| 2| 3| +---+---+---+---+ |5.1|3.5|1.4|0.2| |4.9|3.0|1.4|0.2| |4.7|3.2|1.3|0.2| |4.6|3.1|1.5|0.2| |5.0|3.6|1.4|0.2| |5.4|3.9|1.7|0.4| |4.6|3.
my_sess.sql('SELECT * from data LIMIT 10').show()
+---+---+---+---+
| 0| 1| 2| 3|
+---+---+---+---+
|5.1|3.5|1.4|0.2|
|4.9|3.0|1.4|0.2|
|4.7|3.2|1.3|0.2|
|4.6|3.1|1.5|0.2|
|5.0|3.6|1.4|0.2|
|5.4|3.9|1.7|0.4|
|4.6|3.4|1.4|0.3|
|5.0|3.4|1.5|0.2|
|4.4|2.9|1.4|0.2|
|4.9|3.1|1.5|0.1|
+---+---+---+---+
这里所有的列名都是数值,我想把它们改成a,b,c,d?我怎么做
my_sess.sql('DESCRIBE data').show()
+--------+---------+-------+
|col_name|data_type|comment|
+--------+---------+-------+
| 0| double| null|
| 1| double| null|
| 2| double| null|
| 3| double| null|
+--------+---------+-------+
我尝试使用ALTER命令,但没有成功。有什么帮助吗?您可以像这样重命名列:
new_columns = ["a", "b", "c", "d"]
for old, new in zip(data.columns, new_columns):
data = data.withColumnRenamed(old, new)
可以按如下方式重命名列:
new_columns = ["a", "b", "c", "d"]
for old, new in zip(data.columns, new_columns):
data = data.withColumnRenamed(old, new)
非常感谢。我能知道我从哪里学到所有这些方法/属性吗?@user_12这是一个很好的起点谢谢。。。我可以从哪里了解所有这些方法/属性吗?@user_12这是一个很好的起点