为了账号安全,请及时绑定邮箱和手机立即绑定

如何重命名数据框中的列

如何重命名数据框中的列

守候你守候我 2023-07-27 16:36:58
我有一个名为 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


查看完整回答
反对 回复 2023-07-27
?
慕妹3242003

TA贡献1824条经验 获得超6个赞

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



查看完整回答
反对 回复 2023-07-27
?
萧十郎

TA贡献1815条经验 获得超13个赞

或者您可以进行聚合而不是直接求和。

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


查看完整回答
反对 回复 2023-07-27
?
墨色风雨

TA贡献1853条经验 获得超6个赞

from pyspark.sql.functions import *
df3 = df2.groupBy("DEST_COUNTRY_NAME") \
         .agg(sum("count").alias("destination_total"))


查看完整回答
反对 回复 2023-07-27
  • 4 回答
  • 0 关注
  • 134 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信