Skip to content

covar_pop(col1, col2)

Описание

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

Параметры

  • col1: Column - первый числовой столбец
  • col2: Column - второй числовой столбец

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

Double - ковариация генеральной совокупности

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

from pyspark.sql.functions import covar_pop
from pyspark.sql import SparkSession

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

# Создаем DataFrame
data = [
    ("A", 1, 2),
    ("A", 2, 4),
    ("A", 3, 6),
    ("B", 4, 8),
    ("B", 5, 10),
    ("B", 6, 12),
    ("B", None, None)
]
df = spark.createDataFrame(data, ["group", "value1", "value2"])

# Вычисляем ковариацию генеральной совокупности
result = df.groupBy("group").agg(
    covar_pop("value1", "value2").alias("covariance")
).show()

# Результат:
# +-----+-----------+
# |group|covariance |
# +-----+-----------+
# |A    |1.666666666|
# |B    |2.666666666|
# +-----+-----------+

Примечания

  • NULL значения игнорируются при вычислении
  • Для выборочной ковариации используйте covar_samp()
  • Для корреляции используйте corr()
  • Для дисперсии используйте var_pop()