Skip to content

covar_samp(col1, col2)

Описание

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

Параметры

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

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

Double - выборочная ковариация

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

from pyspark.sql.functions import covar_samp
from pyspark.sql import SparkSession

# Создаем SparkSession
spark = SparkSession.builder.appName("covar_samp_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_samp("value1", "value2").alias("sample_covariance")
).show()

# Результат:
# +-----+-----------------+
# |group|sample_covariance|
# +-----+-----------------+
# |A    |2.5             |
# |B    |4.0             |
# +-----+-----------------+

Примечания

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