Pyspark - Count

Pyspark - Count
I Python er Pyspark en Spark -modul som brukes til å gi en lignende type prosessering som Spark ved hjelp av DataFrame. Count () I Pyspark brukes til å returnere antall rader fra en bestemt kolonne i DataFrame. Vi kan få tellingen på tre måter.
  1. Metode 1: Bruke Select () Metode
  2. Metode 2: Bruke AGG () -metode
  3. 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å tellingen fra kolonnen i DataFrame ved hjelp av Select () -metoden. Ved hjelp av count () -metoden kan vi få det totale antallet rader fra kolonnen. For å bruke denne metoden, må vi importere den fra Pyspark.SQL.Funksjonsmodul, og til slutt kan vi bruke Collect () -metoden for å få tellingen fra kolonnen

Syntaks:

df.Velg (Count ('Column_name'))

Hvor,

  1. DF er inngangen Pyspark DataFrame
  2. Kolonne_navn er kolonnen for å få det totale antallet rader (telling).

Hvis vi ønsker å returnere tellingen fra flere kolonner, må vi bruke Count () -metoden inne i Select () -metoden ved å spesifisere kolonnens navn atskilt med et komma.

Syntaks:

df.Velg (Count ('Column_Name'), Count ('Column_Name'), .. ., Count ('Column_name')))

Hvor,

  1. DF er inngangen Pyspark DataFrame
  2. Kolonne_navn er kolonnen for å få det totale antallet rader (telling).

Eksempel 1: Enkelt kolonne

Dette eksemplet vil få tellingen fra høydekolonnen i Pyspark DataFrame.

#import Pyspark -modulen
Importer pyspark
#import SparkSession for å lage en økt
Fra Pyspark.SQL Import SparkSession
#import tellefunksjonen
Fra Pyspark.SQL.Funksjoner importtall
#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 antall verdier/rader fra høydekolonnen
#Bruke telling
df.Velg (Count ('Høyde')).samle inn()

Produksjon:

[Rad (telling (høyde) = 5)]

I eksemplet ovenfor blir tellingen fra høydekolonnen returnert.

Eksempel 2: Flere kolonner

Dette eksemplet vil få tellingen fra høyden, alderen og vektkolonnene i Pyspark DataFrame.

#import Pyspark -modulen
Importer pyspark
#import SparkSession for å lage en økt
Fra Pyspark.SQL Import SparkSession
#import tellefunksjonen
Fra Pyspark.SQL.Funksjoner importtall
#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 tellingen fra høyden, alders- og vektkolonnene
df.Velg (Count ('Høyde'), Count ('Age'), Count ('Vekt')).samle inn()

Produksjon:

[Rad (telling (høyde) = 5, count (alder) = 5, telling (vekt) = 5)]

I eksemplet ovenfor returneres tellingen fra høyde-, alders- og vektkolonnene.

Metode - 2: Bruke AGG () -metode

Vi kan få tellingen 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., telle. Ved hjelp av count () -metoden kan vi få antall rader fra kolonnen, og til slutt kan vi bruke Collect () -metoden for å få tellingen fra kolonnen.

Syntaks:

df.AGG ('Column_name': Count)

Hvor,

  1. DF er inngangen Pyspark DataFrame
  2. Kolonne_navn er kolonnen for å få det totale antallet rader (telling).
  3. Tellingen er en aggregeringsfunksjon som brukes til å returnere antall rader

Hvis vi ønsker å returnere tellingen fra flere kolonner, må vi spesifisere kolonnenavnet med tellefunksjonen atskilt med et komma.

Syntaks:

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

Hvor,

  1. DF er inngangen Pyspark DataFrame
  2. Kolonne_navn er kolonnen for å få det totale antallet rader (telling).
  3. Tellingen er en aggregeringsfunksjon som brukes til å returnere det totale antallet rader

Eksempel 1: Enkelt kolonne

Dette eksemplet vil få tellingen 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 antall rader høydekolonnen
df.AGG ('høyde': 'count').samle inn()

Produksjon:

[Rad (telling (høyde) = 5)]

I eksemplet ovenfor blir tellingen fra høydekolonnen returnert.

Eksempel 2: Flere kolonner

Dette eksemplet vil få tellingen fra høyden, alderen 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)
#returner antall rader fra høyde, alder og vektkolonner
df.AGG ('høyde': 'Count', 'Age': 'Count', 'Weight': 'Count').samle inn()

Produksjon:

[Rad (telling (vekt) = 5, count (alder) = 5, telling (høyde) = 5)]

I eksemplet ovenfor returneres tellingen fra høyde-, alders- og vektkolonnene.

Metode - 3: Bruke GroupBy () -metode

Vi kan få tellingen fra kolonnen i DataFrame ved hjelp av GroupBy () -metoden. Denne metoden vil returnere det totale antall rader ved å gruppere lignende verdier i en kolonne. Vi må bruke Count () -funksjon etter å ha utført GroupBy () -funksjon

Syntaks:

df.Groupby (Group_Column). telle()

Hvor,

  1. DF er inngangen Pyspark DataFrame
  2. group_column er kolonnen der verdiene er gruppert basert på denne kolonnen
  3. Tellingen er en samlet funksjon som brukes til å returnere det totale antallet rader basert på grupperte rader

Eksempel:

I dette eksemplet skal vi gruppere adressekolonnen og få tellingen

#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 tellingen av rader ved å gruppere adressekolonnen
df.Groupby ('adresse').telle().samle inn()

Produksjon:

Det er tre unike verdier i adressefeltet - Hyd, Guntur og Patna. Så tellingen vil bli dannet ved å gruppere verdiene på tvers av adresseverdiene.

[Rad (adresse = 'hyd', count = 3),
Rad (adresse = 'guntur', count = 1),
Rad (adresse = 'patna', count = 1)]

Konklusjon:

Vi diskuterte hvordan du kan få tellingen fra Pyspark DataFrame ved å bruke Select () og AGG () -metodene. For å få det totale antallet rader ved å gruppere med andre kolonner, brukte vi GroupBy sammen med Count () -funksjonen.