我有一個名為 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”。我怎么解決這個問題?我不與熊貓一起工作,而是與火花一起工作。
4 回答

HUX布斯
TA貢獻1876條經驗 獲得超6個贊
假設數據框中只有兩列,以下是您可以使用的兩種重命名方法。
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

蕭十郎
TA貢獻1815條經驗 獲得超13個贊
或者您可以進行聚合而不是直接求和。
df3 = df2.groupBy("DEST_COUNTRY_NAME").agg(sum('count').alias('count'))

墨色風雨
TA貢獻1853條經驗 獲得超6個贊
from pyspark.sql.functions import * df3 = df2.groupBy("DEST_COUNTRY_NAME") \ .agg(sum("count").alias("destination_total"))
添加回答
舉報
0/150
提交
取消