regr_avgx
Fonction d'agrégation : renvoie la moyenne de la variable indépendante pour les paires non nulles d'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_avgx.
Syntaxe
import pyspark.sql.functions as sf
sf.regr_avgx(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 indépendante pour les paires non nulles d'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_avgx("y", "x"), sf.avg("x")).show()
+---------------+------+
|regr_avgx(y, x)|avg(x)|
+---------------+------+
| 2.75| 2.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_avgx("y", "x"), sf.avg("x")).show()
+---------------+------+
|regr_avgx(y, x)|avg(x)|
+---------------+------+
| NULL| NULL|
+---------------+------+
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_avgx("y", "x"), sf.avg("x")).show()
+---------------+------+
|regr_avgx(y, x)|avg(x)|
+---------------+------+
| NULL| 1.0|
+---------------+------+
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_avgx("y", "x"), sf.avg("x")).show()
+---------------+------+
|regr_avgx(y, x)|avg(x)|
+---------------+------+
| 3.0| 3.0|
+---------------+------+
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_avgx("y", "x"), sf.avg("x")).show()
+---------------+------+
|regr_avgx(y, x)|avg(x)|
+---------------+------+
| 3.0| 3.0|
+---------------+------+