我有一个名为 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
提交
取消
