Pyspark - Count

Pyspark - Count
Dans Python, Pyspark est un module Spark utilisé pour fournir un type de traitement similaire comme Spark en utilisant DataFrame. count () dans pyspark est utilisé pour renvoyer le nombre de lignes d'une colonne particulière dans le dataframe. Nous pouvons obtenir le compte de trois manières.
  1. Méthode 1: Utilisation de la méthode SELECT ()
  2. Méthode 2: Utilisation de la méthode AGG ()
  3. Méthode 3: Utilisation de la méthode groupby ()

Avant cela, nous devons créer Pyspark DataFrame pour la démonstration.

Exemple:

Nous allons créer un dataframe avec 5 lignes et 6 colonnes et l'afficher à l'aide de la méthode Show ().

# importer le module Pyspark
Importer Pyspark
#mport Sparkcession pour la création d'une session
de Pyspark.SQL IMPORT SPARKSESSE
#create une application nommée Linuxhint
Spark_App = Sparkcession.constructeur.appname ('Linuxhint').getorCreate ()
# Créer des données étudiants avec 5 lignes et 6 attributs
étudiants = [
'rollno': '001', 'name': 'sravan', 'Âge': 23,
'Hauteur': 5.79, «poids»: 67, «adresse»: «guntur»,
'rollno': '002', 'name': 'ojaswi', 'Âge': 16,
'Hauteur': 3.79, «poids»: 34, «adresse»: «hyd»,
'rollno': '003', 'name': 'gnanesh chowdary', 'Âge': 7,
'Hauteur': 2.79, «poids»: 17, «adresse»: «patna»,
'rollno': '004', 'name': 'rohith', 'Âge': 9,
'Hauteur': 3.69, «poids»: 28, «adresse»: «hyd»,
'rollno': '005', 'name': 'sridevi', 'Âge': 37,
'Hauteur': 5.59, «poids»: 54, «adresse»: «hyd»]
# Créer le DataFrame
df = spark_app.CreatedataFrame (étudiants)
#display dataframe
df.montrer()

Sortir:

Méthode -1: Utilisation de la méthode SELECT ()

Nous pouvons obtenir le décompte de la colonne dans le DataFrame à l'aide de la méthode SELECT (). En utilisant la méthode Count (), nous pouvons obtenir le nombre total de lignes de la colonne. Pour utiliser cette méthode, nous devons l'importer de Pyspark.SQL.Module Functions, et enfin, nous pouvons utiliser la méthode collection () pour obtenir le décompte de la colonne

Syntaxe:

df.select (count ('Column_name'))

Où,

  1. df est l'entrée pyspark dataframe
  2. Column_name est la colonne pour obtenir le nombre total de lignes (count).

Si nous voulons renvoyer le nombre de plusieurs colonnes, nous devons utiliser la méthode Count () dans la méthode SELECT () en spécifiant le nom de colonne séparé par une virgule.

Syntaxe:

df.select (count ('Column_name'), count ('Column_name'),… ., count ('Column_name'))

Où,

  1. df est l'entrée pyspark dataframe
  2. Column_name est la colonne pour obtenir le nombre total de lignes (count).

Exemple 1: colonne unique

Cet exemple obtiendra le décompte de la colonne de hauteur dans le pyspark dataframe.

# importer le module Pyspark
Importer Pyspark
#mport Sparkcession pour la création d'une session
de Pyspark.SQL IMPORT SPARKSESSE
#IMPORT LA FONCTION DE COUNT
de Pyspark.SQL.Fonctions Count d'importation
#create une application nommée Linuxhint
Spark_App = Sparkcession.constructeur.appname ('Linuxhint').getorCreate ()
# Créer des données étudiants avec 5 lignes et 6 attributs
étudiants = [
'rollno': '001', 'name': 'sravan', 'Âge': 23,
'Hauteur': 5.79, «poids»: 67, «adresse»: «guntur»,
'rollno': '002', 'name': 'ojaswi', 'Âge': 16,
'Hauteur': 3.79, «poids»: 34, «adresse»: «hyd»,
'rollno': '003', 'name': 'gnanesh chowdary', 'Âge': 7,
'Hauteur': 2.79, «poids»: 17, «adresse»: «patna»,
'rollno': '004', 'name': 'rohith', 'Âge': 9,
'Hauteur': 3.69, «poids»: 28, «adresse»: «hyd»,
'rollno': '005', 'name': 'sridevi', 'Âge': 37,
'Hauteur': 5.59, «poids»: 54, «adresse»: «hyd»]
# Créer le DataFrame
df = spark_app.CreatedataFrame (étudiants)
#return le nombre de valeurs / lignes de la colonne de hauteur
#Using Count
df.sélectionnez (compter («hauteur»)).collecter()

Sortir:

[Row (count (hauteur) = 5)]

Dans l'exemple ci-dessus, le nombre de la colonne de hauteur est retourné.

Exemple 2: plusieurs colonnes

Cet exemple obtiendra le décompte des colonnes de hauteur, d'âge et de poids dans le pyspark dataframe.

# importer le module Pyspark
Importer Pyspark
#mport Sparkcession pour la création d'une session
de Pyspark.SQL IMPORT SPARKSESSE
#IMPORT LA FONCTION DE COUNT
de Pyspark.SQL.Fonctions Count d'importation
#create une application nommée Linuxhint
Spark_App = Sparkcession.constructeur.appname ('Linuxhint').getorCreate ()
# Créer des données étudiants avec 5 lignes et 6 attributs
étudiants = [
'rollno': '001', 'name': 'sravan', 'Âge': 23,
'Hauteur': 5.79, «poids»: 67, «adresse»: «guntur»,
'rollno': '002', 'name': 'ojaswi', 'Âge': 16,
'Hauteur': 3.79, «poids»: 34, «adresse»: «hyd»,
'rollno': '003', 'name': 'gnanesh chowdary', 'Âge': 7,
'Hauteur': 2.79, «poids»: 17, «adresse»: «patna»,
'rollno': '004', 'name': 'rohith', 'Âge': 9,
'Hauteur': 3.69, «poids»: 28, «adresse»: «hyd»,
'rollno': '005', 'name': 'sridevi', 'Âge': 37,
'Hauteur': 5.59, «poids»: 54, «adresse»: «hyd»]
# Créer le DataFrame
df = spark_app.CreatedataFrame (étudiants)
#Retturn le décompte des colonnes de hauteur, d'âge et de poids
df.SELECT (COUNT ('HEETH'), COUNT ('Age'), Count ('Weight')).collecter()

Sortir:

[Row (compter (hauteur) = 5, nombre (âge) = 5, comptage (poids) = 5)]

Dans l'exemple ci-dessus, le nombre de colonnes de hauteur, d'âge et de poids est retournée.

Méthode - 2: Utilisation de la méthode AGG ()

Nous pouvons obtenir le décompte de la colonne dans le dataframe en utilisant la méthode AGG (). Cette méthode est connue sous le nom d'agrégation, qui regroupe les valeurs dans une colonne. Il prendra le dictionnaire en tant que paramètre dans cette touche sera le nom de colonne et la valeur est la fonction agrégée, i.e., compter. En utilisant la méthode Count (), nous pouvons obtenir le nombre de lignes de la colonne, et enfin, nous pouvons utiliser la méthode Collect () pour obtenir le nombre de la colonne.

Syntaxe:

df.AGG ('Column_name': Count)

Où,

  1. df est l'entrée pyspark dataframe
  2. Column_name est la colonne pour obtenir le nombre total de lignes (count).
  3. Le nombre est une fonction d'agrégation utilisée pour renvoyer le nombre de lignes

Si nous voulons renvoyer le nombre de plusieurs colonnes, nous devons spécifier le nom de la colonne avec la fonction de décompte séparée par une virgule.

Syntaxe:

df.AGG ('Column_name': Count, 'Column_name': Count,…, 'Column_name': Count)

Où,

  1. df est l'entrée pyspark dataframe
  2. Column_name est la colonne pour obtenir le nombre total de lignes (count).
  3. Le nombre est une fonction d'agrégation utilisée pour renvoyer le nombre total de lignes

Exemple 1: colonne unique

Cet exemple obtiendra le décompte de la colonne de hauteur dans le pyspark dataframe.

# importer le module Pyspark
Importer Pyspark
#mport Sparkcession pour la création d'une session
de Pyspark.SQL IMPORT SPARKSESSE
#create une application nommée Linuxhint
Spark_App = Sparkcession.constructeur.appname ('Linuxhint').getorCreate ()
# Créer des données étudiants avec 5 lignes et 6 attributs
étudiants = [
'rollno': '001', 'name': 'sravan', 'Âge': 23,
'Hauteur': 5.79, «poids»: 67, «adresse»: «guntur»,
'rollno': '002', 'name': 'ojaswi', 'Âge': 16,
'Hauteur': 3.79, «poids»: 34, «adresse»: «hyd»,
'rollno': '003', 'name': 'gnanesh chowdary', 'Âge': 7,
'Hauteur': 2.79, «poids»: 17, «adresse»: «patna»,
'rollno': '004', 'name': 'rohith', 'Âge': 9,
'Hauteur': 3.69, «poids»: 28, «adresse»: «hyd»,
'rollno': '005', 'name': 'sridevi', 'Âge': 37,
'Hauteur': 5.59, «poids»: 54, «adresse»: «hyd»]
# Créer le DataFrame
df = spark_app.CreatedataFrame (étudiants)
#return le nombre de lignes La colonne de hauteur
df.agg ('height': 'count').collecter()

Sortir:

[Row (count (hauteur) = 5)]

Dans l'exemple ci-dessus, le nombre de la colonne de hauteur est retourné.

Exemple 2: plusieurs colonnes

Cet exemple obtiendra le décompte des colonnes de hauteur, d'âge et de poids dans le pyspark dataframe.

# importer le module Pyspark
Importer Pyspark
#mport Sparkcession pour la création d'une session
de Pyspark.SQL IMPORT SPARKSESSE
#create une application nommée Linuxhint
Spark_App = Sparkcession.constructeur.appname ('Linuxhint').getorCreate ()
# Créer des données étudiants avec 5 lignes et 6 attributs
étudiants = [
'rollno': '001', 'name': 'sravan', 'Âge': 23,
'Hauteur': 5.79, «poids»: 67, «adresse»: «guntur»,
'rollno': '002', 'name': 'ojaswi', 'Âge': 16,
'Hauteur': 3.79, «poids»: 34, «adresse»: «hyd»,
'rollno': '003', 'name': 'gnanesh chowdary', 'Âge': 7,
'Hauteur': 2.79, «poids»: 17, «adresse»: «patna»,
'rollno': '004', 'name': 'rohith', 'Âge': 9,
'Hauteur': 3.69, «poids»: 28, «adresse»: «hyd»,
'rollno': '005', 'name': 'sridevi', 'Âge': 37,
'Hauteur': 5.59, «poids»: 54, «adresse»: «hyd»]
# Créer le DataFrame
df = spark_app.CreatedataFrame (étudiants)
#return le nombre de lignes des colonnes de hauteur, d'âge et de poids
df.AGG ('Height': 'Count', 'Age': 'Count', 'Weight': 'Count').collecter()

Sortir:

[Row (Count (Weight) = 5, Count (Age) = 5, Count (Hight) = 5)]

Dans l'exemple ci-dessus, le nombre de colonnes de hauteur, d'âge et de poids est retournée.

Méthode - 3: Utilisation de la méthode groupby ()

Nous pouvons obtenir le décompte de la colonne dans le DataFrame en utilisant la méthode GroupBy (). Cette méthode renverra le nombre total de lignes en regroupant des valeurs similaires dans une colonne. Nous devons utiliser la fonction Count () après avoir effectué une fonction GroupBy ()

Syntaxe:

df.GroupBy (Group_Column). compter()

Où,

  1. df est l'entrée pyspark dataframe
  2. Group_Column est la colonne où les valeurs sont regroupées en fonction de cette colonne
  3. Le nombre est une fonction agrégée utilisée pour renvoyer le nombre total de lignes basées sur les lignes groupées

Exemple :

Dans cet exemple, nous allons regrouper la colonne d'adresse et obtenir le décompte

# importer le module Pyspark
Importer Pyspark
#mport Sparkcession pour la création d'une session
de Pyspark.SQL IMPORT SPARKSESSE
#create une application nommée Linuxhint
Spark_App = Sparkcession.constructeur.appname ('Linuxhint').getorCreate ()
# Créer des données étudiants avec 5 lignes et 6 attributs
étudiants = [
'rollno': '001', 'name': 'sravan', 'Âge': 23,
'Hauteur': 5.79, «poids»: 67, «adresse»: «guntur»,
'rollno': '002', 'name': 'ojaswi', 'Âge': 16,
'Hauteur': 3.79, «poids»: 34, «adresse»: «hyd»,
'rollno': '003', 'name': 'gnanesh chowdary', 'Âge': 7,
'Hauteur': 2.79, «poids»: 17, «adresse»: «patna»,
'rollno': '004', 'name': 'rohith', 'Âge': 9,
'Hauteur': 3.69, «poids»: 28, «adresse»: «hyd»,
'rollno': '005', 'name': 'sridevi', 'Âge': 37,
'Hauteur': 5.59, «poids»: 54, «adresse»: «hyd»]
# Créer le DataFrame
df = spark_app.CreatedataFrame (étudiants)
#return le nombre de lignes en regroupant la colonne d'adresse
df.Groupby ('Adresse').compter().collecter()

Sortir:

Il y a trois valeurs uniques dans le champ d'adresse - Hyd, Guntur et Patna. Le nombre sera donc formé en regroupant les valeurs à travers les valeurs d'adresse.

[Row (adresse = 'hyd', count = 3),
Ligne (adresse = 'guntur', count = 1),
Ligne (adresse = 'patna', count = 1)]

Conclusion:

Nous avons discuté de la façon d'obtenir le décompte à partir du Pyspark DataFrame à l'aide des méthodes SELECT () et AGG (). Pour obtenir le nombre total de lignes en se regroupant avec d'autres colonnes, nous avons utilisé le groupe avec la fonction Count ().