In Python, Pyspark è un modulo Spark utilizzato per fornire un tipo di elaborazione simile come Spark utilizzando DataFrame. Media () in Pyspark restituisce il valore medio da una colonna particolare nel frame dati. Possiamo ottenere la media in tre modi.
- Metodo 1: utilizzando il metodo Select ()
- Metodo 2: utilizzando Agg () Metodo
- Metodo 3: usando il metodo GroupBy ()
Prima di allora, dobbiamo creare il telaio di dati pyspark per la dimostrazione.
Esempio:
Creeremo un frame dati con 5 righe e 6 colonne e lo mostreremo usando il metodo show ().
#import il modulo pyspark
importare pyspark
#IMPORT SPARKSESSION per la creazione di una sessione
da pyspark.SQL Importazione di importazione
#Crea un'app chiamata LinuxHint
Spark_app = SparkSession.costruttore.appname ('LinuxHint').getOrCreate ()
# Crea dati studenteschi con 5 righe e 6 attributi
Studenti = [
'rollno': '001', 'name': 'sravan', 'age': 23,
'altezza': 5.79, "peso": 67, "indirizzo": "guntur",
'rollno': '002', 'name': 'ojaswi', 'age': 16,
'altezza': 3.79, 'peso': 34, 'indirizzo': 'hyd',
'rollno': '003', 'name': 'gnanesh chowdary', 'age': 7,
'altezza': 2.79, 'peso': 17, 'indirizzo': 'patna',
'rollno': '004', 'name': 'rohith', 'age': 9,
'altezza': 3.69, 'peso': 28, 'indirizzo': 'hyd',
'rollno': '005', 'name': 'sridevi', 'age': 37,
'altezza': 5.59, 'peso': 54, 'indirizzo': 'hyd']
# Crea il frame dati
df = spark_app.CreatedataFrame (Students)
#Display DataFrame
df.spettacolo()
Produzione:
Metodo 1: utilizzando il metodo Select ()
Possiamo ottenere il valore medio dalla colonna nel frame dati utilizzando il metodo Select (). Usando il metodo medio (), possiamo ottenere il valore medio dalla colonna. Per usare questo metodo, dobbiamo importarlo da Pyspark.SQL.Modulo Funzioni e, infine, possiamo usare il metodo collect () per ottenere la media dalla colonna
Sintassi:
df.Seleziona (media ('column_name'))
Dove,
- DF è il frame dati pyspark input
- column_name è la colonna per ottenere il valore medio
Se vogliamo restituire il valore medio da più colonne, dobbiamo utilizzare il metodo medio () all'interno del metodo Select () specificando il nome della colonna separato da una virgola.
Sintassi:
df.Seleziona (Media ('column_name'), media ('column_name'), .. ., media ('column_name'))
Dove,
- DF è il frame dati pyspark input
- column_name è la colonna per ottenere il valore medio
Esempio 1: colonna singola
Questo esempio otterrà il valore medio dalla colonna di altezza nel frame dati pyspark.
#import il modulo pyspark
importare pyspark
#IMPORT SPARKSESSION per la creazione di una sessione
da pyspark.SQL Importazione di importazione
#importa la meanfunction
da pyspark.SQL.Funzioni importanti
#Crea un'app chiamata LinuxHint
Spark_app = SparkSession.costruttore.appname ('LinuxHint').getOrCreate ()
# Crea dati studenteschi con 5 righe e 6 attributi
Studenti = [
'rollno': '001', 'name': 'sravan', 'age': 23,
'altezza': 5.79, "peso": 67, "indirizzo": "guntur",
'rollno': '002', 'name': 'ojaswi', 'age': 16,
'altezza': 3.79, 'peso': 34, 'indirizzo': 'hyd',
'rollno': '003', 'name': 'gnanesh chowdary', 'age': 7,
'altezza': 2.79, 'peso': 17, 'indirizzo': 'patna',
'rollno': '004', 'name': 'rohith', 'age': 9,
'altezza': 3.69, 'peso': 28, 'indirizzo': 'hyd',
'rollno': '005', 'name': 'sridevi', 'age': 37,
'altezza': 5.59, 'peso': 54, 'indirizzo': 'hyd']
# Crea il frame dati
df = spark_app.CreatedataFrame (Students)
#RETURN La media dalla colonna di altezza
df.Seleziona (media ('altezza')).raccogliere()
Produzione:
[Riga (AVG (altezza) = 4.33)]
Nell'esempio sopra, il valore medio dalla colonna di altezza viene restituito.
Esempio 2: più colonne
Questo esempio otterrà il valore medio dall'altezza, dall'età e dalle colonne di peso nel frame dati Pyspark.
#import il modulo pyspark
importare pyspark
#IMPORT SPARKSESSION per la creazione di una sessione
da pyspark.SQL Importazione di importazione
#importa la funzione media
da pyspark.SQL.Funzioni importanti
#Crea un'app chiamata LinuxHint
Spark_app = SparkSession.costruttore.appname ('LinuxHint').getOrCreate ()
# Crea dati studenteschi con 5 righe e 6 attributi
Studenti = [
'rollno': '001', 'name': 'sravan', 'age': 23,
'altezza': 5.79, "peso": 67, "indirizzo": "guntur",
'rollno': '002', 'name': 'ojaswi', 'age': 16,
'altezza': 3.79, 'peso': 34, 'indirizzo': 'hyd',
'rollno': '003', 'name': 'gnanesh chowdary', 'age': 7,
'altezza': 2.79, 'peso': 17, 'indirizzo': 'patna',
'rollno': '004', 'name': 'rohith', 'age': 9,
'altezza': 3.69, 'peso': 28, 'indirizzo': 'hyd',
'rollno': '005', 'name': 'sridevi', 'age': 37,
'altezza': 5.59, 'peso': 54, 'indirizzo': 'hyd']
# Crea il frame dati
df = spark_app.CreatedataFrame (Students)
#Trenturn la media dall'altezza, dall'età e dalle colonne di peso
df.Seleziona (media ("altezza"), media ("età"), media ("peso")).raccogliere()
Produzione:
[Riga (AVG (altezza) = 4.33, AVG (età) = 18.4, AVG (peso) = 40.0)]
Nell'esempio sopra, viene restituito il valore medio di altezza, età e peso.
Metodo 2: utilizzando Agg () Metodo
Possiamo ottenere il valore medio dalla colonna nel frame dati utilizzando il metodo Agg (). Questo metodo è noto come aggregazione, che raggruppa i valori all'interno di una colonna. Ci vorrà il dizionario come parametro in quella chiave sarà il nome della colonna e il valore è la funzione aggregata, i.e., Significare. Usando il metodo medio (), possiamo ottenere il valore medio dalla colonna e, infine, possiamo usare il metodo collect () per ottenere la media dalla colonna.
Sintassi:
df.agg ('column_name': media)
Dove,
- DF è il frame dati pyspark input
- column_name è la colonna per ottenere il valore medio
- la media è una funzione di aggregazione utilizzata per restituire la media
Se vogliamo restituire il valore medio da più colonne, dobbiamo specificare il nome della colonna con la funzione media separata da una virgola.
Sintassi:
df.agg ('column_name': media, 'column_name': media,…, 'column_name': media)
Dove,
- DF è il frame dati pyspark input
- column_name è la colonna per ottenere il valore medio
- la media è una funzione di aggregazione utilizzata per restituire la media
Esempio 1: colonna singola
Questo esempio otterrà il valore medio dalla colonna di altezza nel frame dati pyspark.
#import il modulo pyspark
importare pyspark
#IMPORT SPARKSESSION per la creazione di una sessione
da pyspark.SQL Importazione di importazione
#Crea un'app chiamata LinuxHint
Spark_app = SparkSession.costruttore.appname ('LinuxHint').getOrCreate ()
# Crea dati studenteschi con 5 righe e 6 attributi
Studenti = [
'rollno': '001', 'name': 'sravan', 'age': 23,
'altezza': 5.79, "peso": 67, "indirizzo": "guntur",
'rollno': '002', 'name': 'ojaswi', 'age': 16,
'altezza': 3.79, 'peso': 34, 'indirizzo': 'hyd',
'rollno': '003', 'name': 'gnanesh chowdary', 'age': 7,
'altezza': 2.79, 'peso': 17, 'indirizzo': 'patna',
'rollno': '004', 'name': 'rohith', 'age': 9,
'altezza': 3.69, 'peso': 28, 'indirizzo': 'hyd',
'rollno': '005', 'name': 'sridevi', 'age': 37,
'altezza': 5.59, 'peso': 54, 'indirizzo': 'hyd']
# Crea il frame dati
df = spark_app.CreatedataFrame (Students)
#RETURN La media dalla colonna di altezza
df.agg ('altezza': 'mean').raccogliere()
Produzione:
[Riga (AVG (altezza) = 4.33)]
Nell'esempio sopra, il valore medio dalla colonna di altezza viene restituito.
Esempio 2: più colonne
Questo esempio otterrà il valore medio dall'altezza, dall'età e dalle colonne di peso nel frame dati Pyspark.
#import il modulo pyspark
importare pyspark
#IMPORT SPARKSESSION per la creazione di una sessione
da pyspark.SQL Importazione di importazione
#Crea un'app chiamata LinuxHint
Spark_app = SparkSession.costruttore.appname ('LinuxHint').getOrCreate ()
# Crea dati studenteschi con 5 righe e 6 attributi
Studenti = [
'rollno': '001', 'name': 'sravan', 'age': 23,
'altezza': 5.79, "peso": 67, "indirizzo": "guntur",
'rollno': '002', 'name': 'ojaswi', 'age': 16,
'altezza': 3.79, 'peso': 34, 'indirizzo': 'hyd',
'rollno': '003', 'name': 'gnanesh chowdary', 'age': 7,
'altezza': 2.79, 'peso': 17, 'indirizzo': 'patna',
'rollno': '004', 'name': 'rohith', 'age': 9,
'altezza': 3.69, 'peso': 28, 'indirizzo': 'hyd',
'rollno': '005', 'name': 'sridevi', 'age': 37,
'altezza': 5.59, 'peso': 54, 'indirizzo': 'hyd']
# Crea il frame dati
df = spark_app.CreatedataFrame (Students)
#Trenturn la media dall'altezza, dall'età e dalle colonne di peso
df.Agg ("altezza": "mean", "age": "mean", "peso": "medio").raccogliere()
Produzione:
[Riga (AVG (peso) = 40.0, AVG (età) = 18.4, avg (altezza) = 4.33)]
Nell'esempio sopra, viene restituito il valore medio di altezza, età e peso.
Metodo 3: usando il metodo GroupBy ()
Possiamo ottenere il valore medio dalla colonna nel metodo di dati utilizzando il metodo GroupBy (). Questo metodo restituirà il valore medio raggruppando valori simili in una colonna. Dobbiamo usare la funzione media () dopo aver eseguito la funzione GroupBy ()
Sintassi:
df.Groupby (Group_Column). mean ('column_name')
Dove,
- DF è il frame dati pyspark input
- Group_column è la colonna in cui i valori sono raggruppati in base a questa colonna
- column_name è la colonna per ottenere il valore medio
- la media è una funzione di aggregazione utilizzata per restituire la media
Esempio 1:
In questo esempio, raggrupperemo la colonna dell'indirizzo con la colonna di altezza per restituire il valore medio in base alla colonna di questo indirizzo.
#import il modulo pyspark
importare pyspark
#IMPORT SPARKSESSION per la creazione di una sessione
da pyspark.SQL Importazione di importazione
#Crea un'app chiamata LinuxHint
Spark_app = SparkSession.costruttore.appname ('LinuxHint').getOrCreate ()
# Crea dati studenteschi con 5 righe e 6 attributi
Studenti = [
'rollno': '001', 'name': 'sravan', 'age': 23,
'altezza': 5.79, "peso": 67, "indirizzo": "guntur",
'rollno': '002', 'name': 'ojaswi', 'age': 16,
'altezza': 3.79, 'peso': 34, 'indirizzo': 'hyd',
'rollno': '003', 'name': 'gnanesh chowdary', 'age': 7,
'altezza': 2.79, 'peso': 17, 'indirizzo': 'patna',
'rollno': '004', 'name': 'rohith', 'age': 9,
'altezza': 3.69, 'peso': 28, 'indirizzo': 'hyd',
'rollno': '005', 'name': 'sridevi', 'age': 37,
'altezza': 5.59, 'peso': 54, 'indirizzo': 'hyd']
# Crea il frame dati
df = spark_app.CreatedataFrame (Students)
#RETURN La media dal raggruppamento della colonna di altezza con colonna Indirizzo
df.GroupBy ('indirizzo').medio ("altezza").raccogliere()
Produzione:
Ci sono tre valori univoci nel campo dell'indirizzo: Hyd, Guntur e Patna. Quindi la media verrà formata raggruppando i valori attraverso i valori dell'indirizzo.
[Riga (indirizzo = 'hyd', avg (altezza) = 4.3566666666666665),
Riga (indirizzo = 'guntur', avg (altezza) = 5.79),
Riga (indirizzo = 'patna', avg (altezza) = 2.79)]
Esempio 2:
In questo esempio, raggrupperemo la colonna dell'indirizzo con la colonna Peso per restituire il valore medio in base alla colonna di questo indirizzo.
#import il modulo pyspark
importare pyspark
#IMPORT SPARKSESSION per la creazione di una sessione
da pyspark.SQL Importazione di importazione
#Crea un'app chiamata LinuxHint
Spark_app = SparkSession.costruttore.appname ('LinuxHint').getOrCreate ()
# Crea dati studenteschi con 5 righe e 6 attributi
Studenti = [
'rollno': '001', 'name': 'sravan', 'age': 23,
'altezza': 5.79, "peso": 67, "indirizzo": "guntur",
'rollno': '002', 'name': 'ojaswi', 'age': 16,
'altezza': 3.79, 'peso': 34, 'indirizzo': 'hyd',
'rollno': '003', 'name': 'gnanesh chowdary', 'age': 7,
'altezza': 2.79, 'peso': 17, 'indirizzo': 'patna',
'rollno': '004', 'name': 'rohith', 'age': 9,
'altezza': 3.69, 'peso': 28, 'indirizzo': 'hyd',
'rollno': '005', 'name': 'sridevi', 'age': 37,
'altezza': 5.59, 'peso': 54, 'indirizzo': 'hyd']
# Crea il frame dati
df = spark_app.CreatedataFrame (Students)
#RETURN La media dal raggruppamento della colonna di peso con colonna di indirizzo
df.GroupBy ('indirizzo').medio ('peso').raccogliere()
Produzione:
Ci sono tre valori univoci nel campo dell'indirizzo: Hyd, Guntur e Patna. Quindi la media verrà formata raggruppando i valori attraverso i valori dell'indirizzo.
[Riga (indirizzo = 'hyd', avg (peso) = 38.666666666666664),
Riga (indirizzo = 'guntur', avg (peso) = 67.0),
Riga (indirizzo = 'patna', avg (peso) = 17.0)]
Conclusione:
Abbiamo discusso di come ottenere il valore medio dai metodi PysPark Data utilizzando i metodi Select () e Agg (). Per ottenere il valore medio raggruppandosi con altre colonne, abbiamo usato il gruppo insieme alla funzione media ().