Dans Python, Pyspark est un module Spark utilisé pour fournir un type de traitement similaire comme Spark en utilisant DataFrame. moyenne () dans Pyspark renvoie la valeur moyenne d'une colonne particulière dans le dataframe. Nous pouvons obtenir la moyenne de trois manières.
- Méthode 1: Utilisation de la méthode SELECT ()
- Méthode 2: Utilisation de la méthode AGG ()
- 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 moyenne de la colonne dans le dataframe à l'aide de la méthode SELECT (). En utilisant la méthode moyenne (), nous pouvons obtenir la valeur moyenne de la colonne. Pour utiliser cette méthode, nous devons l'importer de Pyspark.SQL.Module fonctions, et enfin, nous pouvons utiliser la méthode collection () pour obtenir la moyenne de la colonne
Syntaxe:
df.select (mean ('column_name')))
Où,
- df est l'entrée pyspark dataframe
- Column_name est la colonne pour obtenir la valeur moyenne
Si nous voulons renvoyer la valeur moyenne de plusieurs colonnes, nous devons utiliser la méthode moyenne () dans la méthode SELECT () en spécifiant le nom de colonne séparé par une virgule.
Syntaxe:
df.select (Mean ('Column_name'), Mean ('Column_name'),… ., mean ('Column_name')))
Où,
- df est l'entrée pyspark dataframe
- Column_name est la colonne pour obtenir la valeur moyenne
Exemple 1: colonne unique
Cet exemple obtiendra la valeur moyenne 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 MAINTURE
de Pyspark.SQL.Fonctions Import Moyenne
#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 moyenne de la colonne de hauteur
df.sélectionner (moyenne («hauteur»)).collecter()
Sortir:
[Row (avg (hauteur) = 4.33)]
Dans l'exemple ci-dessus, la valeur moyenne de la colonne de hauteur est retournée.
Exemple 2: plusieurs colonnes
Cet exemple obtiendra la valeur moyenne 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
# Importer la fonction moyenne
de Pyspark.SQL.Fonctions Import Moyenne
#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 la moyenne des colonnes de hauteur, d'âge et de poids
df.SELECT (moyenne («hauteur»), moyenne («âge»), moyenne («poids»)).collecter()
Sortir:
[Row (avg (hauteur) = 4.33, avg (âge) = 18.4, avg (poids) = 40.0)]
Dans l'exemple ci-dessus, la valeur moyenne des colonnes de hauteur, d'âge et de poids est retournée.
Méthode 2: Utilisation de la méthode AGG ()
Nous pouvons obtenir la valeur moyenne 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., moyenne. En utilisant la méthode moyenne (), nous pouvons obtenir la valeur moyenne de la colonne, et enfin, nous pouvons utiliser la méthode collection () pour obtenir la moyenne de la colonne.
Syntaxe:
df.AGG ('Column_name': Mean)
Où,
- df est l'entrée pyspark dataframe
- Column_name est la colonne pour obtenir la valeur moyenne
- La moyenne est une fonction d'agrégation utilisée pour retourner la moyenne
Si nous voulons renvoyer la valeur moyenne de plusieurs colonnes, nous devons spécifier le nom de la colonne avec la fonction moyenne séparée par une virgule.
Syntaxe:
df.AGG ('Column_name': Mean, 'Column_name': Mean,…, 'Column_name': Mean)
Où,
- df est l'entrée pyspark dataframe
- Column_name est la colonne pour obtenir la valeur moyenne
- La moyenne est une fonction d'agrégation utilisée pour retourner la moyenne
Exemple 1: colonne unique
Cet exemple obtiendra la valeur moyenne 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 moyenne de la colonne de hauteur
df.agg ('height': 'Mean').collecter()
Sortir:
[Row (avg (hauteur) = 4.33)]
Dans l'exemple ci-dessus, la valeur moyenne de la colonne de hauteur est retournée.
Exemple 2: plusieurs colonnes
Cet exemple obtiendra la valeur moyenne 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)
#Retturn la moyenne des colonnes de hauteur, d'âge et de poids
df.AGG ('Height': 'Mean', 'Age': 'Mean', 'Weight': 'Mean').collecter()
Sortir:
[Row (avg (poids) = 40.0, avg (âge) = 18.4, avg (hauteur) = 4.33)]
Dans l'exemple ci-dessus, la valeur moyenne des colonnes de hauteur, d'âge et de poids est retournée.
Méthode 3: Utilisation de la méthode groupby ()
Nous pouvons obtenir la valeur moyenne de la colonne dans le DataFrame en utilisant la méthode GroupBy (). Cette méthode renvoie la valeur moyenne en regroupant des valeurs similaires dans une colonne. Nous devons utiliser la fonction moyenne () après avoir effectué une fonction groupby ()
Syntaxe:
df.GroupBy (Group_Column). Mean ('Column_name')
Où,
- df est l'entrée pyspark dataframe
- Group_Column est la colonne où les valeurs sont regroupées en fonction de cette colonne
- Column_name est la colonne pour obtenir la valeur moyenne
- La moyenne est une fonction d'agrégation utilisée pour retourner la moyenne
Exemple 1:
Dans cet exemple, nous regrouperons la colonne d'adresse avec la colonne de hauteur pour retourner la valeur moyenne 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 moyenne du groupe de colonne de hauteur avec colonne d'adresse
df.Groupby ('Adresse').moyenne («hauteur»).collecter()
Sortir:
Il y a trois valeurs uniques dans le champ d'adresse - Hyd, Guntur et Patna. Ainsi, la moyenne sera formée en regroupant les valeurs à travers les valeurs d'adresse.
[Ligne (adresse = 'hyd', avg (hauteur) = 4.3566666666666665),
Ligne (adresse = 'guntur', avg (hauteur) = 5.79),
Ligne (adresse = 'patna', avg (hauteur) = 2.79)]
Exemple 2:
Dans cet exemple, nous regrouperons la colonne d'adresse avec la colonne de poids pour retourner la valeur moyenne 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 moyenne du groupe de colonnes de poids avec colonne d'adresse
df.Groupby ('Adresse').moyenne («poids»).collecter()
Sortir:
Il y a trois valeurs uniques dans le champ d'adresse - Hyd, Guntur et Patna. Ainsi, la moyenne sera formée en regroupant les valeurs à travers les valeurs d'adresse.
[Row (adresse = 'hyd', avg (poids) = 38.666666666666664),
Ligne (adresse = 'guntur', avg (poids) = 67.0),
Ligne (adresse = 'patna', avg (poids) = 17.0)]
Conclusion:
Nous avons discuté de la façon d'obtenir la valeur moyenne du Pyspark DataFrame à l'aide des méthodes SELECT () et AGG (). Pour obtenir la valeur moyenne en se regroupant avec d'autres colonnes, nous avons utilisé le groupe avec la fonction moyenne ().