如何重命名数据框中的列

我有一个名为 d2 的数据框,有 2 列(DEST_COUNTRY_NAME,计数)

我创建了一个新的数据框,如下所示:

df3 = df2.groupBy("DEST_COUNTRY_NAME").sum('count')

我打算将列“sum(count)”的名称更改为“destination_total”:

df5 = df3.selectExpr("cast(DEST_COUNTRY_NAME as string) DEST_COUNTRY_NAME", "cast(sum(count) as int) destination_total")

我打算将列“sum(count)”重命名为“destination_total”。我怎么解决这个问题?我不与熊猫一起工作,而是与火花一起工作。



守候你守候我
浏览 135回答 4
4回答

HUX布斯

假设数据框中只有两列,以下是您可以使用的两种重命名方法。df3 = df2.groupBy("DEST_COUNTRY_NAME").sum('count').toDF(*['DEST_COUNTRY_NAME', 'destination_total'])或者您可以在调用别名函数时重命名它,如下所示:df3.select("DEST_COUNTRY_NAME", col("sum(count)").alias("destination_total"))PS:不要忘记导入 col。from pyspark.sql.functions import col

慕妹3242003

df5 = df3.withColumnRenamed("sum(count)","destination_total")

萧十郎

或者您可以进行聚合而不是直接求和。df3 = df2.groupBy("DEST_COUNTRY_NAME").agg(sum('count').alias('count'))

墨色风雨

from pyspark.sql.functions import * df3 = df2.groupBy("DEST_COUNTRY_NAME") \          .agg(sum("count").alias("destination_total"))
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python