Skip to content

avg(col)

Описание

Функция avg() вычисляет среднее арифметическое значение числового столбца. Это агрегатная функция, которая должна использоваться с groupBy().

Параметры

  • col: Column - числовой столбец для вычисления среднего

Возвращаемое значение

Double - среднее арифметическое значение

Пример использования

from pyspark.sql.functions import avg
from pyspark.sql import SparkSession

# Создаем SparkSession
spark = SparkSession.builder.appName("avg_example").getOrCreate()

# Создаем DataFrame
data = [
    ("A", 10),
    ("A", 20),
    ("A", 30),
    ("B", 5),
    ("B", 15),
    ("B", 25)
]
df = spark.createDataFrame(data, ["group", "value"])

# Используем avg для вычисления среднего
result = df.groupBy("group").agg(
    avg("value").alias("average")
).show()

# Результат:
# +-----+-------+
# |group|average|
# +-----+-------+
# |A    |20.0   |
# |B    |15.0   |
# +-----+-------+

# Пример с NULL значениями
data = [
    ("A", 10),
    ("A", None),
    ("A", 30),
    ("B", 5),
    ("B", None),
    ("B", 25)
]
df = spark.createDataFrame(data, ["group", "value"])

result = df.groupBy("group").agg(
    avg("value").alias("average")
).show()

Примечания

  • NULL значения игнорируются при вычислении среднего
  • Если все значения NULL, возвращается NULL
  • Для вычисления суммы используйте sum()
  • Для вычисления медианы используйте median()
  • Для вычисления моды используйте mode()