regr_avgy
Função agregada: retorna a média da variável dependente para pares não nulos em um grupo, onde y é a variável dependente e x é a variável independente.
Para a função Databricks SQL correspondente, consulte regr_avgy função agregada.
Sintaxe
Python
import pyspark.sql.functions as sf
sf.regr_avgy(y=<y>, x=<x>)
Parâmetros
Parâmetro | Tipo | Descrição |
|---|---|---|
|
| A variável dependente. |
|
| A variável independente. |
Devoluções
pyspark.sql.Column: a média da variável dependente para pares não nulos em um grupo.
Exemplos
Exemplo 1 : Todos os pares são não nulos.
Python
import pyspark.sql.functions as sf
df = spark.sql("SELECT * FROM VALUES (1, 2), (2, 2), (2, 3), (2, 4) AS tab(y, x)")
df.select(sf.regr_avgy("y", "x"), sf.avg("y")).show()
Output
+---------------+------+
|regr_avgy(y, x)|avg(y)|
+---------------+------+
| 1.75| 1.75|
+---------------+------+
Exemplo 2 : Todos os valores de x dos pares são nulos.
Python
import pyspark.sql.functions as sf
df = spark.sql("SELECT * FROM VALUES (1, null) AS tab(y, x)")
df.select(sf.regr_avgy("y", "x"), sf.avg("y")).show()
Output
+---------------+------+
|regr_avgy(y, x)|avg(y)|
+---------------+------+
| NULL| 1.0|
+---------------+------+
Exemplo 3 : Todos os valores y dos pares são nulos.
Python
import pyspark.sql.functions as sf
df = spark.sql("SELECT * FROM VALUES (null, 1) AS tab(y, x)")
df.select(sf.regr_avgy("y", "x"), sf.avg("y")).show()
Output
+---------------+------+
|regr_avgy(y, x)|avg(y)|
+---------------+------+
| NULL| NULL|
+---------------+------+
Exemplo 4 : Os valores de x de alguns pares são nulos.
Python
import pyspark.sql.functions as sf
df = spark.sql("SELECT * FROM VALUES (1, 2), (2, null), (2, 3), (2, 4) AS tab(y, x)")
df.select(sf.regr_avgy("y", "x"), sf.avg("y")).show()
Output
+------------------+------+
| regr_avgy(y, x)|avg(y)|
+------------------+------+
|1.6666666666666...| 1.75|
+------------------+------+
Exemplo 5 : Os valores de x ou y de alguns pares são nulos.
Python
import pyspark.sql.functions as sf
df = spark.sql("SELECT * FROM VALUES (1, 2), (2, null), (null, 3), (2, 4) AS tab(y, x)")
df.select(sf.regr_avgy("y", "x"), sf.avg("y")).show()
Output
+---------------+------------------+
|regr_avgy(y, x)| avg(y)|
+---------------+------------------+
| 1.5|1.6666666666666...|
+---------------+------------------+