Pyspark - Avg

Pyspark - Avg
In Python, Pyspark è un modulo Spark utilizzato per fornire un tipo di elaborazione simile come Spark utilizzando DataFrame. Avg () in pyspark viene utilizzato per restituire il valore medio da una colonna particolare nel frame dati. Possiamo ottenere la media in tre modi.
  1. Metodo 1: utilizzando il metodo Select ()
  2. Metodo 2: utilizzando Agg () Metodo
  3. 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 AVG (), 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 (AVG ('column_name'))

Dove,

  1. DF è il frame dati pyspark input
  2. column_name è la colonna per ottenere il valore medio

Se vogliamo restituire il valore medio da più colonne, dobbiamo utilizzare il metodo AVG () all'interno del metodo Select () specificando il nome della colonna separato da una virgola.

Sintassi:

df.Seleziona (AVG ('column_name'), avg ('column_name'), .. ., avg ('column_name'))

Dove,

  1. DF è il frame dati pyspark input
  2. 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
#import la funzione media - AVG
da pyspark.SQL.funzioni importanti avg
#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 (AVG ('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
#import la funzione media - AVG
da pyspark.SQL.funzioni importanti avg
#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 (AVG ("altezza"), avg ("età"), avg ("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., Avg . Usando il metodo AVG (), 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': avg)

Dove,

  1. DF è il frame dati pyspark input
  2. column_name è la colonna per ottenere il valore medio
  3. AVG è 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 AVG separata da una virgola.

Sintassi:

df.agg ('column_name': avg, 'column_name': avg,…, 'column_name': avg)

Dove,

  1. DF è il frame dati pyspark input
  2. column_name è la colonna per ottenere il valore medio
  3. AVG è 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': 'avg').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": "avg", "age": "avg", "peso": "avg").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 AVG () dopo aver eseguito la funzione GroupBy ()

Sintassi:

df.Groupby (Group_Column).avg ('column_name')

Dove,

  1. DF è il frame dati pyspark input
  2. Group_column è la colonna in cui i valori sono raggruppati in base a questa colonna
  3. column_name è la colonna per ottenere il valore medio
  4. AVG è 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').avg ('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').avg ('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 AVG ().