regr_avgy
Fonction d'agrégation : retourne la moyenne de la variable dépendante pour les paires non nulles dans un groupe, où y est la variable dépendante et x est la variable indépendante.
Pour la fonction Databricks SQL correspondante, consultez la fonction d'agrégationregr_avgy.
Syntaxe
import pyspark.sql.functions as sf
sf.regr_avgy(y=<y>, x=<x>)
parameter
parameter | Type | Description |
|---|---|---|
|
| La variable dépendante. |
|
| La variable indépendante. |
Renvoie
pyspark.sql.Column: la moyenne de la variable dépendante pour les paires non nulles dans un groupe.
Exemples
Exemple 1 : Toutes les paires sont non nulles.
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()
+---------------+------+
|regr_avgy(y, x)|avg(y)|
+---------------+------+
| 1.75| 1.75|
+---------------+------+
Exemple 2 : Toutes les valeurs x des paires sont nulles.
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()
+---------------+------+
|regr_avgy(y, x)|avg(y)|
+---------------+------+
| NULL| 1.0|
+---------------+------+
Exemple 3 : Les valeurs y de toutes les paires sont nulles.
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()
+---------------+------+
|regr_avgy(y, x)|avg(y)|
+---------------+------+
| NULL| NULL|
+---------------+------+
Exemple 4 : Les valeurs x de certaines paires sont nulles.
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()
+------------------+------+
| regr_avgy(y, x)|avg(y)|
+------------------+------+
|1.6666666666666...| 1.75|
+------------------+------+
Exemple 5 : Certaines valeurs x ou y des paires sont nulles.
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()
+---------------+------------------+
|regr_avgy(y, x)| avg(y)|
+---------------+------------------+
| 1.5|1.6666666666666...|
+---------------+------------------+