Pyspark - Sum

Pyspark - Sum
Dans Python, Pyspark est un module Spark utilisé pour fournir un type de traitement similaire comme Spark en utilisant DataFrame. sum () dans pyspark renvoie la valeur totale (sum) d'une colonne particulière dans le dataframe. Nous pouvons obtenir la valeur de la somme 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 la valeur totale de la colonne dans le dataframe à l'aide de la méthode SELECT (). En utilisant la méthode sum (), nous pouvons obtenir la valeur totale 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 Collect () pour obtenir la somme de la colonne

Syntaxe:

df.select (sum ('column_name'))

Où,

  1. df est l'entrée pyspark dataframe
  2. Column_name est la colonne pour obtenir la valeur de somme

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

Syntaxe:

df.select (sum ('column_name'), sum ('Column_name'),… ., sum ('Column_name'))

Où,

  1. df est l'entrée pyspark dataframe
  2. Column_name est la colonne pour obtenir la valeur de somme

Exemple 1: colonne unique

Cet exemple obtiendra la valeur totale 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 SUM
de Pyspark.SQL.Fonctions Import Sum
#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 la somme de la colonne de hauteur
df.sélectionner (sum ('hauteur')).collecter()

Sortir:

[Row (somme (hauteur) = 21.65)]

La valeur totale (somme) de la colonne de hauteur est renvoyée dans l'exemple ci-dessus.

Exemple 2: plusieurs colonnes

Cet exemple obtiendra la valeur totale de la hauteur, de l'âge et des colonnes 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 SUM
de Pyspark.SQL.Fonctions Import Sum
#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 la somme des colonnes de hauteur, d'âge et de poids
df.select (sum ('height'), sum ('Âge'), sum ('poids')).collecter()

Sortir:

[Row (somme (hauteur) = 21.65, somme (âge) = 92, somme (poids) = 200)]

La valeur totale (SUM) des colonnes de hauteur, d'âge et de poids est retournée dans l'exemple ci-dessus.

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

Nous pouvons obtenir la valeur totale 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., somme. En utilisant la méthode sum (), nous pouvons obtenir la valeur totale de la colonne, et enfin, nous pouvons utiliser la méthode collection () pour obtenir la somme de la colonne.

Syntaxe:

df.AGG ('Column_name': SUM)

Où,

  1. df est l'entrée pyspark dataframe
  2. Column_name est la colonne pour obtenir la valeur de somme
  3. La somme est une fonction d'agrégation utilisée pour retourner la somme

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

Syntaxe:

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

Où,

  1. df est l'entrée pyspark dataframe
  2. Column_name est la colonne pour obtenir la valeur de somme
  3. La somme est une fonction d'agrégation utilisée pour retourner la somme

Exemple 1: colonne unique

Cet exemple obtiendra la valeur totale 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 la somme de la colonne de hauteur
df.agg ('height': 'sum').collecter()

Sortir:

[Row (somme (hauteur) = 21.65)]

Dans l'exemple ci-dessus, la valeur totale (somme) de la colonne de hauteur est retournée.

Exemple 2: plusieurs colonnes

Cet exemple obtiendra la valeur totale de la hauteur, de l'âge et des colonnes 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 la somme des colonnes de hauteur, d'âge et de poids
df.AGG ('Height': 'Sum', 'Age': 'Sum', 'Weight': 'Sum').collecter()

Sortir:

[Row (somme (hauteur) = 21.65, somme (âge) = 92, somme (poids) = 200)]

Dans l'exemple ci-dessus, la valeur totale (SUM) de la hauteur, de l'âge et des colonnes de poids est retournée.

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

Nous pouvons obtenir la valeur totale de la colonne dans le DataFrame en utilisant la méthode GroupBy (). Cette méthode renvoie la valeur totale en regroupant des valeurs similaires dans une colonne. Nous devons utiliser la fonction sum () après avoir rempli la fonction groupby ()

Syntaxe:

df.GroupBy (Group_Column).sum ('Column_name')

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. Column_name est la colonne pour obtenir la valeur de somme
  4. La somme est une fonction d'agrégation utilisée pour retourner la somme

Exemple 1:

Dans cet exemple, nous regrouperons la colonne d'adresse avec la colonne de hauteur pour retourner la valeur totale (SUM) en fonction de cette colonne d'adresse.

# 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 la somme du groupe de colonne de hauteur avec colonne d'adresse
df.Groupby ('Adresse').sum ('hauteur').collecter()

Sortir:

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

[Row (adresse = 'hyd', sum (hauteur) = 13.07),
Ligne (adresse = 'guntur', sum (hauteur) = 5.79),
Ligne (adresse = 'patna', sum (hauteur) = 2.79)]

Exemple 2:

Dans cet exemple, nous regrouperons la colonne d'adresse avec la colonne de poids pour retourner la valeur totale (SUM) en fonction de cette colonne d'adresse.

# 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 la somme du groupe de colonnes de poids avec colonne d'adresse
df.Groupby ('Adresse').sum ('poids').collecter()

Sortir:

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

[Row (adresse = 'hyd', sum (poids) = 116),
Ligne (adresse = 'guntur', sum (poids) = 67),
Ligne (adresse = 'patna', sum (poids) = 17)]

Conclusion:

Nous avons discuté de la façon d'obtenir la valeur de somme (totale) de la Pyspark DataFrame à l'aide des méthodes SELECT () et AGG (). Pour obtenir la valeur de somme en se regroupant avec d'autres colonnes, nous avons utilisé le groupe avec la fonction sum ().