I Python er Pyspark en Spark -modul som brukes til å gi en lignende type prosessering som Spark ved hjelp av DataFrame. AVG () i Pyspark brukes til å returnere gjennomsnittsverdien fra en bestemt kolonne i DataFrame. Vi kan få gjennomsnittet på tre måter.
- Metode 1: Bruke Select () Metode
- Metode 2: Bruke AGG () -metode
- Metode 3: Bruke GroupBy () -metode
Før det må vi lage Pyspark DataFrame for demonstrasjon.
Eksempel:
Vi vil lage en DataFrame med 5 rader og 6 kolonner og vise den ved hjelp av Show () -metoden.
#import Pyspark -modulen
Importer pyspark
#import SparkSession for å lage en økt
Fra Pyspark.SQL Import SparkSession
#Create en app som heter Linuxhint
Spark_app = SparkSession.bygger.AppName ('Linuxhint').getorCreate ()
# Lag studentdata med 5 rader og 6 attributter
Studenter = [
'Rollno': '001', 'Navn': 'Sravan', 'Age': 23,
'Høyde': 5.79, 'vekt': 67, 'adresse': 'guntur',
'Rollno': '002', 'Navn': 'Ojaswi', 'Age': 16,
'Høyde': 3.79, 'vekt': 34, 'adresse': 'hyd',
'Rollno': '003', 'Navn': 'Gnanesh Chowdary', 'Age': 7,
'Høyde': 2.79, 'Vekt': 17, 'Adresse': 'Patna',
'Rollno': '004', 'Navn': 'Rohith', 'Age': 9,
'Høyde': 3.69, 'vekt': 28, 'adresse': 'hyd',
'Rollno': '005', 'Navn': 'Sridevi', 'Age': 37,
'Høyde': 5.59, 'vekt': 54, 'adresse': 'hyd']]
# Lag DataFrame
df = spark_app.CreateTataFrame (studenter)
#Display DataFrame
df.forestilling()
Produksjon:
Metode 1: Bruke Select () Metode
Vi kan få gjennomsnittsverdien fra kolonnen i DataFrame ved hjelp av Select () -metoden. Ved å bruke AVG () -metoden, kan vi få gjennomsnittsverdien fra kolonnen. For å bruke denne metoden, må vi importere den fra Pyspark.SQL.Funksjonsmodul, og til slutt kan vi bruke Collect () -metoden for å få gjennomsnittet fra kolonnen
Syntaks:
df.Velg (AVG ('Column_name'))
Hvor,
- DF er inngangen Pyspark DataFrame
- kolonne_navn er kolonnen for å få gjennomsnittsverdien
Hvis vi ønsker å returnere gjennomsnittsverdien fra flere kolonner, må vi bruke AVG () -metoden inne i SELECT () -metoden ved å spesifisere kolonnens navn atskilt med et komma.
Syntaks:
df.Velg (AVG ('Column_name'), AVG ('Column_name'), .. ., AVG ('Column_name'))
Hvor,
- DF er inngangen Pyspark DataFrame
- kolonne_navn er kolonnen for å få gjennomsnittsverdien
Eksempel 1: Enkelt kolonne
Dette eksemplet vil få gjennomsnittsverdien fra høydekolonnen i Pyspark DataFrame.
#import Pyspark -modulen
Importer pyspark
#import SparkSession for å lage en økt
Fra Pyspark.SQL Import SparkSession
#import gjennomsnittet - AVG -funksjonen
Fra Pyspark.SQL.Funksjoner importerer avg
#Create en app som heter Linuxhint
Spark_app = SparkSession.bygger.AppName ('Linuxhint').getorCreate ()
# Lag studentdata med 5 rader og 6 attributter
Studenter = [
'Rollno': '001', 'Navn': 'Sravan', 'Age': 23,
'Høyde': 5.79, 'vekt': 67, 'adresse': 'guntur',
'Rollno': '002', 'Navn': 'Ojaswi', 'Age': 16,
'Høyde': 3.79, 'vekt': 34, 'adresse': 'hyd',
'Rollno': '003', 'Navn': 'Gnanesh Chowdary', 'Age': 7,
'Høyde': 2.79, 'Vekt': 17, 'Adresse': 'Patna',
'Rollno': '004', 'Navn': 'Rohith', 'Age': 9,
'Høyde': 3.69, 'vekt': 28, 'adresse': 'hyd',
'Rollno': '005', 'Navn': 'Sridevi', 'Age': 37,
'Høyde': 5.59, 'vekt': 54, 'adresse': 'hyd']]
# Lag DataFrame
df = spark_app.CreateTataFrame (studenter)
#returner gjennomsnittet fra høydekolonnen
df.Velg (AVG ('Høyde')).samle inn()
Produksjon:
[Rad (AVG (høyde) = 4.33)]
I eksemplet ovenfor returneres gjennomsnittsverdien fra høydekolonnen.
Eksempel 2: Flere kolonner
Dette eksemplet vil få gjennomsnittsverdien fra høyde-, alders- og vektkolonnene i Pyspark DataFrame.
#import Pyspark -modulen
Importer pyspark
#import SparkSession for å lage en økt
Fra Pyspark.SQL Import SparkSession
#import den gjennomsnittlige funksjonen - AVG
Fra Pyspark.SQL.Funksjoner importerer avg
#Create en app som heter Linuxhint
Spark_app = SparkSession.bygger.AppName ('Linuxhint').getorCreate ()
# Lag studentdata med 5 rader og 6 attributter
Studenter = [
'Rollno': '001', 'Navn': 'Sravan', 'Age': 23,
'Høyde': 5.79, 'vekt': 67, 'adresse': 'guntur',
'Rollno': '002', 'Navn': 'Ojaswi', 'Age': 16,
'Høyde': 3.79, 'vekt': 34, 'adresse': 'hyd',
'Rollno': '003', 'Navn': 'Gnanesh Chowdary', 'Age': 7,
'Høyde': 2.79, 'Vekt': 17, 'Adresse': 'Patna',
'Rollno': '004', 'Navn': 'Rohith', 'Age': 9,
'Høyde': 3.69, 'vekt': 28, 'adresse': 'hyd',
'Rollno': '005', 'Navn': 'Sridevi', 'Age': 37,
'Høyde': 5.59, 'vekt': 54, 'adresse': 'hyd']]
# Lag DataFrame
df = spark_app.CreateTataFrame (studenter)
#Return gjennomsnittet fra høyden, alders- og vektkolonnene
df.Velg (AVG ('Høyde'), AVG ('Age'), AVG ('Vekt'))).samle inn()
Produksjon:
[Rad (AVG (høyde) = 4.33, AVG (alder) = 18.4, AVG (vekt) = 40.0)]
I eksemplet ovenfor returneres gjennomsnittsverdien fra høyde-, alders- og vektkolonnene.
Metode 2: Bruke AGG () -metode
Vi kan få gjennomsnittsverdien fra kolonnen i DataFrame ved å bruke AGG () -metoden. Denne metoden er kjent som aggregering, som grupper verdiene i en kolonne. Det vil ta ordbok som en parameter i den nøkkelen vil være kolonnens navn og verdi er den samlede funksjonen, i.e., avg . Ved å bruke AVG () -metoden, kan vi få gjennomsnittsverdien fra kolonnen, og til slutt kan vi bruke Collect () -metoden for å få gjennomsnittet fra kolonnen.
Syntaks:
df.AGG ('Column_name': AVG)
Hvor,
- DF er inngangen Pyspark DataFrame
- kolonne_navn er kolonnen for å få gjennomsnittsverdien
- AVG er en aggregeringsfunksjon som brukes til å returnere gjennomsnittet
Hvis vi ønsker å returnere gjennomsnittsverdien fra flere kolonner, må vi spesifisere kolonnenavnet med AVG -funksjonen atskilt med et komma.
Syntaks:
df.AGG ('Column_name': AVG, 'Column_name': AVG,…, 'Column_name': AVG)
Hvor,
- DF er inngangen Pyspark DataFrame
- kolonne_navn er kolonnen for å få gjennomsnittsverdien
- AVG er en aggregeringsfunksjon som brukes til å returnere gjennomsnittet
Eksempel 1: Enkelt kolonne
Dette eksemplet vil få gjennomsnittsverdien fra høydekolonnen i Pyspark DataFrame.
#import Pyspark -modulen
Importer pyspark
#import SparkSession for å lage en økt
Fra Pyspark.SQL Import SparkSession
#Create en app som heter Linuxhint
Spark_app = SparkSession.bygger.AppName ('Linuxhint').getorCreate ()
# Lag studentdata med 5 rader og 6 attributter
Studenter = [
'Rollno': '001', 'Navn': 'Sravan', 'Age': 23,
'Høyde': 5.79, 'vekt': 67, 'adresse': 'guntur',
'Rollno': '002', 'Navn': 'Ojaswi', 'Age': 16,
'Høyde': 3.79, 'vekt': 34, 'adresse': 'hyd',
'Rollno': '003', 'Navn': 'Gnanesh Chowdary', 'Age': 7,
'Høyde': 2.79, 'Vekt': 17, 'Adresse': 'Patna',
'Rollno': '004', 'Navn': 'Rohith', 'Age': 9,
'Høyde': 3.69, 'vekt': 28, 'adresse': 'hyd',
'Rollno': '005', 'Navn': 'Sridevi', 'Age': 37,
'Høyde': 5.59, 'vekt': 54, 'adresse': 'hyd']]
# Lag DataFrame
df = spark_app.CreateTataFrame (studenter)
#returner gjennomsnittet fra høydekolonnen
df.AGG ('høyde': 'avg').samle inn()
Produksjon:
[Rad (AVG (høyde) = 4.33)]
I eksemplet ovenfor returneres gjennomsnittsverdien fra høydekolonnen.
Eksempel 2: Flere kolonner
Dette eksemplet vil få gjennomsnittsverdien fra høyde-, alders- og vektkolonnene i Pyspark DataFrame.
#import Pyspark -modulen
Importer pyspark
#import SparkSession for å lage en økt
Fra Pyspark.SQL Import SparkSession
#Create en app som heter Linuxhint
Spark_app = SparkSession.bygger.AppName ('Linuxhint').getorCreate ()
# Lag studentdata med 5 rader og 6 attributter
Studenter = [
'Rollno': '001', 'Navn': 'Sravan', 'Age': 23,
'Høyde': 5.79, 'vekt': 67, 'adresse': 'guntur',
'Rollno': '002', 'Navn': 'Ojaswi', 'Age': 16,
'Høyde': 3.79, 'vekt': 34, 'adresse': 'hyd',
'Rollno': '003', 'Navn': 'Gnanesh Chowdary', 'Age': 7,
'Høyde': 2.79, 'Vekt': 17, 'Adresse': 'Patna',
'Rollno': '004', 'Navn': 'Rohith', 'Age': 9,
'Høyde': 3.69, 'vekt': 28, 'adresse': 'hyd',
'Rollno': '005', 'Navn': 'Sridevi', 'Age': 37,
'Høyde': 5.59, 'vekt': 54, 'adresse': 'hyd']]
# Lag DataFrame
df = spark_app.CreateTataFrame (studenter)
#Return gjennomsnittet fra høyden, alders- og vektkolonnene
df.agg ('høyde': 'avg', 'alder': 'avg', 'vekt': 'avg').samle inn()
Produksjon:
[Rad (AVG (vekt) = 40.0, AVG (alder) = 18.4, AVG (høyde) = 4.33)]
I eksemplet ovenfor returneres gjennomsnittsverdien fra høyde-, alders- og vektkolonnene.
Metode 3: Bruke GroupBy () -metode
Vi kan få gjennomsnittsverdien fra kolonnen i DataFrame ved hjelp av GroupBy () -metoden. Denne metoden vil returnere gjennomsnittsverdien ved å gruppere lignende verdier i en kolonne. Vi må bruke AVG () -funksjonen etter å ha utført GroupBy () -funksjon
Syntaks:
df.Groupby (Group_Column).AVG ('Column_name')
Hvor,
- DF er inngangen Pyspark DataFrame
- group_column er kolonnen der verdiene er gruppert basert på denne kolonnen
- kolonne_navn er kolonnen for å få gjennomsnittsverdien
- AVG er en aggregeringsfunksjon som brukes til å returnere gjennomsnittet
Eksempel 1:
I dette eksemplet vil vi gruppere adressekolonnen med høydekolonnen for å returnere gjennomsnittsverdien basert på denne adressekolonnen.
#import Pyspark -modulen
Importer pyspark
#import SparkSession for å lage en økt
Fra Pyspark.SQL Import SparkSession
#Create en app som heter Linuxhint
Spark_app = SparkSession.bygger.AppName ('Linuxhint').getorCreate ()
# Lag studentdata med 5 rader og 6 attributter
Studenter = [
'Rollno': '001', 'Navn': 'Sravan', 'Age': 23,
'Høyde': 5.79, 'vekt': 67, 'adresse': 'guntur',
'Rollno': '002', 'Navn': 'Ojaswi', 'Age': 16,
'Høyde': 3.79, 'vekt': 34, 'adresse': 'hyd',
'Rollno': '003', 'Navn': 'Gnanesh Chowdary', 'Age': 7,
'Høyde': 2.79, 'Vekt': 17, 'Adresse': 'Patna',
'Rollno': '004', 'Navn': 'Rohith', 'Age': 9,
'Høyde': 3.69, 'vekt': 28, 'adresse': 'hyd',
'Rollno': '005', 'Navn': 'Sridevi', 'Age': 37,
'Høyde': 5.59, 'vekt': 54, 'adresse': 'hyd']]
# Lag DataFrame
df = spark_app.CreateTataFrame (studenter)
#Return gjennomsnittet fra høydekolonnets gruppering med adressekolonnen
df.Groupby ('adresse').AVG ('Høyde').samle inn()
Produksjon:
Det er tre unike verdier i adressefeltet - Hyd, Guntur og Patna. Så gjennomsnittet vil bli dannet ved å gruppere verdiene på tvers av adresseverdiene.
[Rad (adresse = 'hyd', AVG (høyde) = 4.35666666666666665),
Rad (adresse = 'guntur', AVG (høyde) = 5.79),
Rad (adresse = 'Patna', AVG (høyde) = 2.79)]
Eksempel 2:
I dette eksemplet vil vi gruppere adressekolonnen med vektkolonnen for å returnere gjennomsnittsverdien basert på denne adressekolonnen.
#import Pyspark -modulen
Importer pyspark
#import SparkSession for å lage en økt
Fra Pyspark.SQL Import SparkSession
#Create en app som heter Linuxhint
Spark_app = SparkSession.bygger.AppName ('Linuxhint').getorCreate ()
# Lag studentdata med 5 rader og 6 attributter
Studenter = [
'Rollno': '001', 'Navn': 'Sravan', 'Age': 23,
'Høyde': 5.79, 'vekt': 67, 'adresse': 'guntur',
'Rollno': '002', 'Navn': 'Ojaswi', 'Age': 16,
'Høyde': 3.79, 'vekt': 34, 'adresse': 'hyd',
'Rollno': '003', 'Navn': 'Gnanesh Chowdary', 'Age': 7,
'Høyde': 2.79, 'Vekt': 17, 'Adresse': 'Patna',
'Rollno': '004', 'Navn': 'Rohith', 'Age': 9,
'Høyde': 3.69, 'vekt': 28, 'adresse': 'hyd',
'Rollno': '005', 'Navn': 'Sridevi', 'Age': 37,
'Høyde': 5.59, 'vekt': 54, 'adresse': 'hyd']]
# Lag DataFrame
df = spark_app.CreateTataFrame (studenter)
#Return gjennomsnittet fra vektkolonnets gruppering med adressekolonnen
df.Groupby ('adresse').AVG ('Vekt').samle inn()
Produksjon:
Det er tre unike verdier i adressefeltet - Hyd, Guntur og Patna. Så gjennomsnittet vil bli dannet ved å gruppere verdiene på tvers av adresseverdiene.
[Rad (adresse = 'hyd', AVG (vekt) = 38.6666666666666664),
Rad (adresse = 'guntur', AVG (vekt) = 67.0),
ROW (adresse = 'Patna', AVG (vekt) = 17.0)]
Konklusjon:
Vi diskuterte hvordan vi kan få gjennomsnittsverdien fra Pyspark DataFrame ved å bruke Select () og AGG () -metodene. For å få gjennomsnittsverdien ved å gruppere med andre kolonner, brukte vi Groupby sammen med AVG () -funksjonen.