I Python er Pyspark en Spark -modul som brukes til å gi en lignende type prosessering som Spark ved hjelp av DataFrame. I Pyspark, hvor () brukes til å filtrere radene i DataFrame, vil den returnere den nye DataFrame ved å filtrere radene i den eksisterende DataFrame.
- Metode - 1: hvor () med relasjonelle operatører
- Metode - 2: hvor () med relasjonelle operatører som bruker COL -funksjon
- Metode - 3: hvor () med relasjonelle operatører på flere forhold
- Metode - 4: hvor () med SQL -uttrykk
- Metode - 5: hvor () med strengmetoder
La oss lage en Pyspark DataFrame:
Eksempel:
Dette eksemplet vil lage Pyspark DataFrame med 5 rader og 6 kolonner og vise den ved hjelp av showet () metoden.
#import pyspaprk -modulen
Importer pyspark
#import SparkSession for å lage en økt
Fra Pyspark.SQL Import SparkSession
#import col -funksjonen
Fra Pyspark.SQL.Funksjoner importerer col
#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: hvor () med relasjonelle operatører
Her bruker vi hvor () fungerer for å filtrere PySpark DataFrame med relasjonelle operatører som>, < . == etc.
Syntaks:
Dataramme.hvor (dataaframe.Kolonne_navn Operatørverdi)
Her, hvor () godtar tre parametere.
- Dataramme.kolonne_navn er kolonnen der filtrering brukes
- Operatør er den relasjonsoperatøren
- Verdien er streng/numerisk verdi sammenlignet med kolonneverdier
Eksempel:
I dette eksemplet vil vi filtrere DataFrame basert på alder, høyde, vekt og navnekolonner med forskjellige relasjonelle operatører og vise de filtrerte radene ved hjelp av Collect () -metoden.
#import pyspaprk -modulen
Importer pyspark
#import SparkSession for å lage en økt
Fra Pyspark.SQL Import SparkSession
#import col -funksjonen
Fra Pyspark.SQL.Funksjoner importerer col
#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
#by filtreringsalder som 23
trykk (df.hvor (df.alder == 23).samle inn())
skrive ut("---------------------------")
#Display DataFrame
#by filtreringshøyde som 2.79
trykk (df.hvor (df.Høyde == 2.79).samle inn())
skrive ut("---------------------------")
#Display DataFrame
#by filtreringsvekt større enn 30
trykk (df.hvor (df.vekt> 30).samle inn())
skrive ut("---------------------------")
#Display DataFrame
#by filtreringsnavn som Sravan
trykk (df.hvor (df.Navn == 'Sravan').samle inn())
Produksjon:
[Rad (adresse = 'guntur', alder = 23, høyde = 5.79, name = 'Sravan', rollno = '001', vekt = 67)]
---------------------------
[Rad (adresse = 'patna', alder = 7, høyde = 2.79, navn = 'Gnanesh Chowdary', Rollno = '003', vekt = 17)]
---------------------------
[Rad (adresse = 'guntur', alder = 23, høyde = 5.79, navn = 'Sravan', rollno = '001', vekt = 67), rad (adresse = 'hyd', alder = 16, høyde = 3.79, navn = 'ojaswi', rollno = '002', vekt = 34), rad (adresse = 'hyd', alder = 37, høyde = 5.59, name = 'Sridevi', rollno = '005', vekt = 54)]
---------------------------
[Rad (adresse = 'guntur', alder = 23, høyde = 5.79, name = 'Sravan', rollno = '001', vekt = 67)]
Metode - 2: hvor () med relasjonelle operatører som bruker COL -funksjon
Her bruker vi hvor () fungerer for å filtrere PySpark DataFrame med relasjonelle operatører som>, < . == etc. through col function
Syntaks:
Dataramme.hvor (col (“Column_name”) operatørverdi)
Her, hvor () godtar tre parametere.
- Dataramme.kolonne_navn er kolonnen der filtrering brukes
- Operatør er den relasjonsoperatøren
- Verdien er streng/numerisk verdi sammenlignet med kolonneverdier
Eksempel:
I dette eksemplet vil vi filtrere DataFrame basert på alder, høyde, vekt og navnekolonner med forskjellige relasjonelle operatører og vise de filtrerte radene ved hjelp av Collect () -metoden.
#import pyspaprk -modulen
Importer pyspark
#import SparkSession for å lage en økt
Fra Pyspark.SQL Import SparkSession
#import col -funksjonen
Fra Pyspark.SQL.Funksjoner importerer col
#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
#by filtreringsalder som 23
trykk (df.hvor (col ('alder') == 23).samle inn())
skrive ut("---------------------------")
#Display DataFrame
#by filtreringshøyde som 2.79
trykk (df.hvor (col ('høyde') == 2.79).samle inn())
skrive ut("---------------------------")
#Display DataFrame
#by filtreringsvekt større enn 30
trykk (df.hvor (col ('vekt')> 30).samle inn())
skrive ut("---------------------------")
#Display DataFrame
#by filtreringsnavn som Sravan
trykk (df.hvor (col ('navn') == 'sravan').samle inn())
Produksjon:
[Rad (adresse = 'guntur', alder = 23, høyde = 5.79, name = 'Sravan', rollno = '001', vekt = 67)]
---------------------------
[Rad (adresse = 'patna', alder = 7, høyde = 2.79, navn = 'Gnanesh Chowdary', Rollno = '003', vekt = 17)]
---------------------------
[Rad (adresse = 'guntur', alder = 23, høyde = 5.79, navn = 'Sravan', rollno = '001', vekt = 67), rad (adresse = 'hyd', alder = 16, høyde = 3.79, navn = 'ojaswi', rollno = '002', vekt = 34), rad (adresse = 'hyd', alder = 37, høyde = 5.59, name = 'Sridevi', rollno = '005', vekt = 54)]
---------------------------
[Rad (adresse = 'guntur', alder = 23, høyde = 5.79, name = 'Sravan', rollno = '001', vekt = 67)]
Metode - 3: hvor () med relasjonelle operatører på flere forhold
Her bruker vi hvor () fungerer for å filtrere PySpark DataFrame med relasjonelle operatører som>, < . == etc with multiple conditions.
Syntaks:
Dataramme.hvor ((conditin1) operatør (tilstand2) .. .)
Her, hvor () godtar tre parametere.
- Dataramme.kolonne_navn er kolonnen der filtrering brukes
- Operatør er den relasjonsoperatøren
- Verdien er streng/numerisk verdi sammenlignet med kolonneverdier
- Tilstand spesifiserer - (DataFrame.Kolonne_navn Operatørverdi)
Eksempel:
I dette eksemplet skal vi filtrere DataFrame basert på alderskolonnen med eller (|), og (&) operatør og vise de filtrerte radene ved hjelp av Collect () -metoden.
#import pyspaprk -modulen
Importer pyspark
#import SparkSession for å lage en økt
Fra Pyspark.SQL Import SparkSession
#import col -funksjonen
Fra Pyspark.SQL.Funksjoner importerer col
#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
#by filtreringsalder større enn 10 og mindre enn 21
trykk (df.hvor ((df.Alder> 10) & (DF.alder <21)).collect())
skrive ut("---------------------------")
#Display DataFrame
#by filtreringsalder større enn 10 eller mindre enn 21
trykk (df.hvor ((df.Alder> 10) | (DF.alder <21)).collect())
Produksjon:
[Rad (adresse = 'hyd', alder = 16, høyde = 3.79, name = 'ojaswi', rollno = '002', vekt = 34)]
---------------------------
[Rad (adresse = 'guntur', alder = 23, høyde = 5.79, navn = 'Sravan', rollno = '001', vekt = 67), rad (adresse = 'hyd', alder = 16, høyde = 3.79, navn = 'ojaswi', rollno = '002', vekt = 34), rad (adresse = 'patna', alder = 7, høyde = 2.79, navn = 'Gnanesh Chowdary', Rollno = '003', vekt = 17), rad (adresse = 'Hyd', alder = 9, høyde = 3.69, navn = 'Rohith', rollno = '004', vekt = 28), rad (adresse = 'hyd', alder = 37, høyde = 5.59, name = 'Sridevi', rollno = '005', vekt = 54)]
Metode - 4: hvor () med SQL -uttrykk
Her bruker vi Where () -funksjonen for å filtrere Pyspark DataFrame med SQL -uttrykk. Tilstanden er omsluttet av “”. Vi kan imidlertid spesifisere relasjonsoperatør som en betingelse.
Syntaks:
Dataramme.hvor (“Dataframe.kolonne_name Operatørverdi ”)
Her, hvor () godtar tre parametere.
- Dataramme.kolonne_navn er kolonnen der filtrering brukes
- Operatør er den relasjonsoperatøren
- Verdien er streng/numerisk verdi sammenlignet med kolonneverdier
Eksempel:
I dette eksemplet vil vi filtrere DataFrame basert på alder, høyde, vekt og navnekolonner med forskjellige relasjonelle operatører og vise de filtrerte radene ved hjelp av Collect () -metoden.
#import pyspaprk -modulen
Importer pyspark
#import SparkSession for å lage en økt
Fra Pyspark.SQL Import SparkSession
#import col -funksjonen
Fra Pyspark.SQL.Funksjoner importerer col
#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
#by filtreringsalder som 23
#bruk SQL -uttrykk
trykk (df.hvor ("alder == 23").samle inn())
skrive ut("---------------------------")
#Display DataFrame
#by filtreringshøyde som 2.79
#bruk SQL -uttrykk
trykk (df.hvor ("høyde == 2.79 ").samle inn())
skrive ut("---------------------------")
#Display DataFrame
#by filtreringsvekt større enn 30
#bruk SQL -uttrykk
trykk (df.hvor ("vekt> 30").samle inn())
skrive ut("---------------------------")
#Display DataFrame
#by filtreringsnavn som Sravan
#bruk SQL -uttrykk
trykk (df.hvor ("name == 'sravan'").samle inn())
Produksjon:
[Rad (adresse = 'guntur', alder = 23, høyde = 5.79, name = 'Sravan', rollno = '001', vekt = 67)]
---------------------------
[Rad (adresse = 'patna', alder = 7, høyde = 2.79, navn = 'Gnanesh Chowdary', Rollno = '003', vekt = 17)]
---------------------------
[Rad (adresse = 'guntur', alder = 23, høyde = 5.79, navn = 'Sravan', rollno = '001', vekt = 67), rad (adresse = 'hyd', alder = 16, høyde = 3.79, navn = 'ojaswi', rollno = '002', vekt = 34), rad (adresse = 'hyd', alder = 37, høyde = 5.59, name = 'Sridevi', rollno = '005', vekt = 54)]
---------------------------
[Rad (adresse = 'guntur', alder = 23, høyde = 5.79, name = 'Sravan', rollno = '001', vekt = 67)]
Metode - 5: hvor () med strengmetoder
Her bruker vi Where () -funksjonen for å filtrere Pyspark DataFrame med strengmetoder. Disse brukes på kolonnene hvis datatype er en streng. De er
begynner med() - Sjekk starttegnet i de gitte dataene
Syntaks:
Dataramme.hvor (dataaframe.kolonne_navn.Startswith ("karakter")
Her,
Kolonne_navn er kolonnen der filtrering brukes der verdien starter med det gitte tegnet.
slutter med() - Sjekk sluttkarakteren i de gitte dataene
Syntaks:
Dataramme.hvor (dataaframe.kolonne_navn.Endswith ("karakter")
Her,
Kolonne_navn er kolonnen der filtrering brukes der verdien ender med det gitte tegnet.
inneholder () - Sjekk tegnet inneholder i de gitte dataene
Syntaks:
Dataramme.hvor (dataaframe.kolonne_navn.inneholder ("karakter")
Her,
Kolonne_navn er kolonnen der filtrering brukes der verdien inneholder med det gitte tegnet.
Eksempel:
I dette eksemplet skal vi filtrere basert på adressekolonnen
#import pyspaprk -modulen
Importer pyspark
#import SparkSession for å lage en økt
Fra Pyspark.SQL Import SparkSession
#import col -funksjonen
Fra Pyspark.SQL.Funksjoner importerer col
#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
#by filtreringsadresse
#Starts med 'H'
trykk (df.hvor (df.adresse.StartSwith ("H")).samle inn())
skrive ut("-----------------")
#Display DataFrame
#by filtreringsadresse
#ends med 'r'
trykk (df.hvor (df.adresse.Endswith ("R")).samle inn())
skrive ut("-----------------")
#Display DataFrame
#by filtreringsadresse
#Comntain 'Tu'
trykk (df.hvor (df.adresse.inneholder ("R")).samle inn())
Produksjon:
[Rad (adresse = 'hyd', alder = 16, høyde = 3.79, navn = 'Ojaswi', rollno = '002', vekt = 34), rad (adresse = 'hyd', alder = 9, høyde = 3.69, navn = 'Rohith', rollno = '004', vekt = 28), rad (adresse = 'hyd', alder = 37, høyde = 5.59, name = 'Sridevi', rollno = '005', vekt = 54)]
-----------------
[Rad (adresse = 'guntur', alder = 23, høyde = 5.79, name = 'Sravan', rollno = '001', vekt = 67)]
-----------------
[Rad (adresse = 'guntur', alder = 23, høyde = 5.79, name = 'Sravan', rollno = '001', vekt = 67)]
Konklusjon
Denne artikkelen diskuterer hvordan du bruker et hvor () filter med flere metoder på Pyspark DataFrame i Python. Og vi inkluderte alle forholdene med SQL -uttrykk også.