pyspark.sql.functions.avg与mean的区别及功能一致性确认
PySpark中
avg()与mean()函数的区别解析 - 功能完全一致:这两个函数的核心作用都是计算指定列的算术平均值,处理空值的逻辑、聚合规则、返回结果的类型和数值完全没有区别。
- 本质是别名关系:在PySpark的源码实现里,
mean()就是avg()的别名——底层调用的是同一个计算逻辑,只是对外暴露了两个不同的命名接口。 - 使用场景无差异:不管你在DataFrame聚合操作中使用
pyspark.sql.functions.avg()还是pyspark.sql.functions.mean(),最终得到的结果完全相同。比如执行以下代码:
输出结果里两个聚合列的数值完全一致。from pyspark.sql import SparkSession from pyspark.sql.functions import avg, mean spark = SparkSession.builder.getOrCreate() df = spark.createDataFrame([(1, 10), (2, 20), (3, 30)], ["id", "value"]) df.groupBy().agg(avg("value"), mean("value")).show()
简单来说,文档里描述的功能相同是完全准确的,实际使用中二者没有任何区别,只是为了适配不同开发者的命名习惯提供了两个选项。
内容的提问来源于stack exchange,提问作者nirkov
相关产品推荐
相关产品推荐

