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()