You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在不重命名列的情况下用一行代码计算DataFrame列的平均值、最大值、最小值(PySpark场景)

解决PySpark中一行代码计算列的均值、最大/最小值(不重命名列)

嘿,我来帮你排查问题并搞定这个需求!

首先看你给出的代码,大概率报错的原因是列名拼写错误——你写的Salaray应该是Salary吧?这是很容易犯的小疏忽。不过就算修正了拼写,我们也可以用最简洁的方式实现你的需求:在不手动重命名列的前提下,一行代码算出目标列的平均值、最大值和最小值。

正确的一行代码实现

首先确保你已经导入了PySpark需要的聚合函数:

from pyspark.sql.functions import avg, min, max, col

然后直接执行这行代码即可:

df5 = df5.agg(avg(col("Salary")), min(col("Salary")), max(col("Salary")))

如果你觉得col()有点多余,还可以更简化,直接传入列名字符串:

df5 = df5.agg(avg("Salary"), min("Salary"), max("Salary"))

为什么这样符合需求?

执行完之后,结果DataFrame的列名会自动生成为avg(Salary)、min(Salary)、max(Salary),完全不需要你手动重命名列,完美匹配你的要求。

如果修正拼写后还是报错,那你可以检查下:

  • 目标列Salary是否真的存在于df5中
  • 是否正确导入了avg、min、max这些聚合函数

内容的提问来源于stack exchange,提问作者Venkatesh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.30 23:27:47