Aller au contenu principal

count_if

Renvoie le nombre de valeurs VRAIES pour la colonne.

Syntaxe

Python
from pyspark.sql import functions as sf

sf.count_if(col)

parameter

parameter

Type

Description

col

pyspark.sql.Column ou nom de colonne

Colonne cible sur laquelle travailler.

parameter

Type

Description

col

pyspark.sql.Column ou nom de colonne

Colonne cible sur laquelle travailler.

Renvoie

pyspark.sql.Column: le nombre de valeurs TRUE pour le col.

Exemples

Exemple 1 : Comptabilisation du nombre de nombres pairs dans une colonne numérique

Python
from pyspark.sql import functions as sf
df = spark.createDataFrame([("a", 1), ("a", 2), ("a", 3), ("b", 8), ("b", 2)], ["c1", "c2"])
df.select(sf.count_if(sf.col('c2') % 2 == 0)).show()
Output
+------------------------+
|count_if(((c2 % 2) = 0))|
+------------------------+
| 3|
+------------------------+

Exemple 2 : Comptage du nombre de lignes où une colonne de chaîne de caractères start with une certaine lettre

Python
from pyspark.sql import functions as sf
df = spark.createDataFrame(
[("apple",), ("banana",), ("cherry",), ("apple",), ("banana",)], ["fruit"])
df.select(sf.count_if(sf.col('fruit').startswith('a'))).show()
Output
+------------------------------+
|count_if(startswith(fruit, a))|
+------------------------------+
| 2|
+------------------------------+

Exemple 3 : Compter le nombre de lignes où une colonne numérique est supérieure à une certaine valeur

Python
from pyspark.sql import functions as sf
df = spark.createDataFrame([(1,), (2,), (3,), (4,), (5,)], ["num"])
df.select(sf.count_if(sf.col('num') > 3)).show()
Output
+-------------------+
|count_if((num > 3))|
+-------------------+
| 2|
+-------------------+

Exemple 4 : Comptage du nombre de lignes où une colonne booléenne est vraie

Python
from pyspark.sql import functions as sf
df = spark.createDataFrame([(True,), (False,), (True,), (False,), (True,)], ["b"])
df.select(sf.count('b'), sf.count_if('b')).show()
Output
+--------+-----------+
|count(b)|count_if(b)|
+--------+-----------+
| 5| 3|
+--------+-----------+