我有一個名為 d2 的數(shù)據(jù)框,有 2 列(DEST_COUNTRY_NAME,計數(shù))我創(chuàng)建了一個新的數(shù)據(jù)框,如下所示: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貢獻(xiàn)1876條經(jīng)驗(yàn) 獲得超6個贊
假設(shè)數(shù)據(jù)框中只有兩列,以下是您可以使用的兩種重命名方法。
df3 = df2.groupBy("DEST_COUNTRY_NAME").sum('count').toDF(*['DEST_COUNTRY_NAME', 'destination_total'])或者您可以在調(diào)用別名函數(shù)時重命名它,如下所示:
df3.select("DEST_COUNTRY_NAME", col("sum(count)").alias("destination_total"))PS:不要忘記導(dǎo)入 col。
from pyspark.sql.functions import col
慕妹3242003
TA貢獻(xiàn)1824條經(jīng)驗(yàn) 獲得超6個贊
df5 = df3.withColumnRenamed("sum(count)","destination_total")
蕭十郎
TA貢獻(xiàn)1815條經(jīng)驗(yàn) 獲得超13個贊
或者您可以進(jìn)行聚合而不是直接求和。
df3 = df2.groupBy("DEST_COUNTRY_NAME").agg(sum('count').alias('count'))
墨色風(fēng)雨
TA貢獻(xiàn)1853條經(jīng)驗(yàn) 獲得超6個贊
from pyspark.sql.functions import *
df3 = df2.groupBy("DEST_COUNTRY_NAME") \
.agg(sum("count").alias("destination_total"))添加回答
舉報
0/150
提交
取消
