Pyspark dove clausola

Pyspark dove clausola
In Python, Pyspark è un modulo Spark utilizzato per fornire un tipo di elaborazione simile come Spark utilizzando DataFrame. In PysPark, dove () viene utilizzato per filtrare le righe nel frame dati, restituirà il nuovo frame dati filtrando le righe nel frame dati esistente.
  1. Metodo - 1: dove () con operatori relazionali
  2. Metodo - 2: dove () con gli operatori relazionali che utilizzano la funzione Col
  3. Metodo - 3: dove () con operatori relazionali a più condizioni
  4. Metodo - 4: dove () con espressione SQL
  5. Metodo - 5: dove () con metodi di stringa

Creiamo un Frame Data Pyspark:

Esempio:

Questo esempio creerà il frame dati pyspark con 5 righe e 6 colonne e lo visualizzerà utilizzando il metodo show ().

#IMPORT Il modulo PYSPRK
importare pyspark
#IMPORT SPARKSESSION per la creazione di una sessione
da pyspark.SQL Importazione di importazione
#importa la funzione Col
da pyspark.SQL.Funzioni importanti col
#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: dove () con operatori relazionali

Qui, stiamo usando la funzione () per filtrare il frame dati Pyspark con operatori relazionali come>, < . == etc.

Sintassi:

DataFrame.dove (dati dati.Valore operatore colonnario_name)

Qui, dove () accetta tre parametri.

  1. DataFrame.Column_name è la colonna in cui viene applicato il filtro
  2. L'operatore è l'operatore relazionale
  3. Il valore è il valore stringa/numerico rispetto ai valori della colonna

Esempio:

In questo esempio, filtreremo il telaio di dati in base a colonne di età, altezza, peso e nome con diversi operatori relazionali e visualizzeremo le righe filtrate utilizzando il metodo Collect ().

#IMPORT Il modulo PYSPRK
importare pyspark
#IMPORT SPARKSESSION per la creazione di una sessione
da pyspark.SQL Importazione di importazione
#importa la funzione Col
da pyspark.SQL.Funzioni importanti col
#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
#by filtraggio di età come 23
Stampa (df.dove (df.età == 23).raccogliere())
stampa("---------------------------")
#Display DataFrame
#By Filtering Altreping come 2.79
Stampa (df.dove (df.altezza == 2.79).raccogliere())
stampa("---------------------------")
#Display DataFrame
#per filtrare il peso maggiore di 30
Stampa (df.dove (df.Peso> 30).raccogliere())
stampa("---------------------------")
#Display DataFrame
#By Filtering Name come Sravan
Stampa (df.dove (df.name == 'sravan').raccogliere())

Produzione:

[Riga (indirizzo = 'guntur', età = 23, altezza = 5.79, name = 'sravan', rollno = '001', peso = 67)]
---------------------------
[Riga (indirizzo = 'patna', età = 7, altezza = 2.79, nome = 'gnanesh chowdary', rollno = '003', peso = 17)]
---------------------------
[Riga (indirizzo = 'guntur', età = 23, altezza = 5.79, name = 'sravan', rollno = '001', peso = 67), riga (indirizzo = 'hyd', età = 16, altezza = 3.79, name = 'ojaswi', rollno = '002', peso = 34), riga (indirizzo = 'hyd', età = 37, altezza = 5.59, name = 'sridevi', rollno = '005', peso = 54)]
---------------------------
[Riga (indirizzo = 'guntur', età = 23, altezza = 5.79, name = 'sravan', rollno = '001', peso = 67)]

Metodo - 2: dove () con gli operatori relazionali che utilizzano la funzione Col

Qui, stiamo usando la funzione () per filtrare il frame dati Pyspark con operatori relazionali come>, < . == etc. through col function

Sintassi:

DataFrame.Where (Col ("column_name") Valore dell'operatore)

Qui, dove () accetta tre parametri.

  1. DataFrame.Column_name è la colonna in cui viene applicato il filtro
  2. L'operatore è l'operatore relazionale
  3. Il valore è il valore stringa/numerico rispetto ai valori della colonna

Esempio:

In questo esempio, filtreremo il telaio di dati in base a colonne di età, altezza, peso e nome con diversi operatori relazionali e visualizzeremo le righe filtrate utilizzando il metodo Collect ().

#IMPORT Il modulo PYSPRK
importare pyspark
#IMPORT SPARKSESSION per la creazione di una sessione
da pyspark.SQL Importazione di importazione
#importa la funzione Col
da pyspark.SQL.Funzioni importanti col
#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
#by filtraggio di età come 23
Stampa (df.dove (col ('age') == 23).raccogliere())
stampa("---------------------------")
#Display DataFrame
#By Filtering Altreping come 2.79
Stampa (df.dove (col ('altezza') == 2.79).raccogliere())
stampa("---------------------------")
#Display DataFrame
#per filtrare il peso maggiore di 30
Stampa (df.dove (col ('peso')> 30).raccogliere())
stampa("---------------------------")
#Display DataFrame
#By Filtering Name come Sravan
Stampa (df.dove (col ('name') == 'sravan').raccogliere())

Produzione:

[Riga (indirizzo = 'guntur', età = 23, altezza = 5.79, name = 'sravan', rollno = '001', peso = 67)]
---------------------------
[Riga (indirizzo = 'patna', età = 7, altezza = 2.79, nome = 'gnanesh chowdary', rollno = '003', peso = 17)]
---------------------------
[Riga (indirizzo = 'guntur', età = 23, altezza = 5.79, name = 'sravan', rollno = '001', peso = 67), riga (indirizzo = 'hyd', età = 16, altezza = 3.79, name = 'ojaswi', rollno = '002', peso = 34), riga (indirizzo = 'hyd', età = 37, altezza = 5.59, name = 'sridevi', rollno = '005', peso = 54)]
---------------------------
[Riga (indirizzo = 'guntur', età = 23, altezza = 5.79, name = 'sravan', rollno = '001', peso = 67)]

Metodo - 3: dove () con operatori relazionali a più condizioni

Qui, stiamo usando la funzione () per filtrare il frame dati Pyspark con operatori relazionali come>, < . == etc with multiple conditions.

Sintassi:

DataFrame.dove (conditin1) operatore (condizione2) .. .)

Qui, dove () accetta tre parametri.

  1. DataFrame.Column_name è la colonna in cui viene applicato il filtro
  2. L'operatore è l'operatore relazionale
  3. Il valore è il valore stringa/numerico rispetto ai valori della colonna
  4. la condizione specifica - (DataFrame.Valore operatore colonnario_name)

Esempio:

In questo esempio, filtreremo il frame dati in base alla colonna di età con o (|) e (&) operatore e visualizzerebbe le righe filtrate utilizzando il metodo collect ().

#IMPORT Il modulo PYSPRK
importare pyspark
#IMPORT SPARKSESSION per la creazione di una sessione
da pyspark.SQL Importazione di importazione
#importa la funzione Col
da pyspark.SQL.Funzioni importanti col
#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
#By Filtering Età superiore a 10 e meno di 21
Stampa (df.dove ((df.età> 10) e (df.età <21)).collect())
stampa("---------------------------")
#Display DataFrame
#By Filtering Età superiore a 10 o meno di 21
Stampa (df.dove ((df.età> 10) | (df.età <21)).collect())

Produzione:

[Riga (indirizzo = 'hyd', età = 16, altezza = 3.79, name = 'ojaswi', rollno = '002', peso = 34)]
---------------------------
[Riga (indirizzo = 'guntur', età = 23, altezza = 5.79, name = 'sravan', rollno = '001', peso = 67), riga (indirizzo = 'hyd', età = 16, altezza = 3.79, nome = 'ojaswi', rollno = '002', peso = 34), riga (indirizzo = 'patna', età = 7, altezza = 2.79, nome = 'gnanesh chowdary', rollno = '003', peso = 17), riga (indirizzo = 'hyd', età = 9, altezza = 3.69, name = 'rohith', rollno = '004', peso = 28), riga (indirizzo = 'hyd', età = 37, altezza = 5.59, name = 'sridevi', rollno = '005', peso = 54)]

Metodo - 4: dove () con espressione SQL

Qui, utilizziamo la funzione Where () per filtrare il Frame dati PysPark con SQL Expression. La condizione è racchiusa da "". Tuttavia, possiamo specificare l'operatore relazionale come condizione.

Sintassi:

DataFrame.dove ("DataFrame.Valore operatore colonnario_name ”)

Qui, dove () accetta tre parametri.

  1. DataFrame.Column_name è la colonna in cui viene applicato il filtro
  2. L'operatore è l'operatore relazionale
  3. Il valore è il valore stringa/numerico rispetto ai valori della colonna

Esempio:

In questo esempio, filtreremo il telaio di dati in base a colonne di età, altezza, peso e nome con diversi operatori relazionali e visualizzeremo le righe filtrate utilizzando il metodo Collect ().

#IMPORT Il modulo PYSPRK
importare pyspark
#IMPORT SPARKSESSION per la creazione di una sessione
da pyspark.SQL Importazione di importazione
#importa la funzione Col
da pyspark.SQL.Funzioni importanti col
#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
#by filtraggio di età come 23
#Utilizzo dell'espressione SQL
Stampa (df.dove ("age == 23").raccogliere())
stampa("---------------------------")
#Display DataFrame
#By Filtering Altreping come 2.79
#Utilizzo dell'espressione SQL
Stampa (df.dove ("altezza == 2.79 ").raccogliere())
stampa("---------------------------")
#Display DataFrame
#per filtrare il peso maggiore di 30
#Utilizzo dell'espressione SQL
Stampa (df.dove ("peso> 30").raccogliere())
stampa("---------------------------")
#Display DataFrame
#By Filtering Name come Sravan
#Utilizzo dell'espressione SQL
Stampa (df.dove ("name == 'sravan'").raccogliere())

Produzione:

[Riga (indirizzo = 'guntur', età = 23, altezza = 5.79, name = 'sravan', rollno = '001', peso = 67)]
---------------------------
[Riga (indirizzo = 'patna', età = 7, altezza = 2.79, nome = 'gnanesh chowdary', rollno = '003', peso = 17)]
---------------------------
[Riga (indirizzo = 'guntur', età = 23, altezza = 5.79, name = 'sravan', rollno = '001', peso = 67), riga (indirizzo = 'hyd', età = 16, altezza = 3.79, name = 'ojaswi', rollno = '002', peso = 34), riga (indirizzo = 'hyd', età = 37, altezza = 5.59, name = 'sridevi', rollno = '005', peso = 54)]
---------------------------
[Riga (indirizzo = 'guntur', età = 23, altezza = 5.79, name = 'sravan', rollno = '001', peso = 67)]

Metodo - 5: dove () con metodi di stringa

Qui, stiamo usando la funzione Where () per filtrare il Frame dati PysPark con metodi String. Questi sono applicati sulle colonne il cui tipo di dati è una stringa. Sono

inizia con() - Controlla il carattere iniziale nei dati forniti

Sintassi:

DataFrame.dove (dati dati.column_name.startWith ("personaggio")

Qui,

column_name è la colonna in cui viene applicato il filtro in cui il valore inizia con il carattere dato.

finisce con() - Controlla il carattere finale nei dati forniti

Sintassi:

DataFrame.dove (dati dati.column_name.endswith ("personaggio")

Qui,

Column_name è la colonna in cui viene applicato il filtro in cui il valore termina con il carattere dato.

contiene () - Controllare che il carattere contiene nei dati dati

Sintassi:

DataFrame.dove (dati dati.column_name.contiene ("carattere")

Qui,

column_name è la colonna in cui viene applicato il filtro in cui il valore contiene con il carattere dato.

Esempio:

In questo esempio, filtreremo in base alla colonna dell'indirizzo

#IMPORT Il modulo PYSPRK
importare pyspark
#IMPORT SPARKSESSION per la creazione di una sessione
da pyspark.SQL Importazione di importazione
#importa la funzione Col
da pyspark.SQL.Funzioni importanti col
#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
#BY FILTERING INDIRIZZO
#start con 'h'
Stampa (df.dove (df.indirizzo.startWith ("H")).raccogliere())
stampa("-----------------")
#Display DataFrame
#BY FILTERING INDIRIZZO
#ends con 'r'
Stampa (df.dove (df.indirizzo.endswith ("r")).raccogliere())
stampa("-----------------")
#Display DataFrame
#BY FILTERING INDIRIZZO
#comnintas 'tu'
Stampa (df.dove (df.indirizzo.contiene ("r")).raccogliere())

Produzione:

[Riga (indirizzo = 'hyd', età = 16, altezza = 3.79, name = 'ojaswi', rollno = '002', peso = 34), riga (indirizzo = 'hyd', età = 9, altezza = 3.69, name = 'rohith', rollno = '004', peso = 28), riga (indirizzo = 'hyd', età = 37, altezza = 5.59, name = 'sridevi', rollno = '005', peso = 54)]
-----------------
[Riga (indirizzo = 'guntur', età = 23, altezza = 5.79, name = 'sravan', rollno = '001', peso = 67)]
-----------------
[Riga (indirizzo = 'guntur', età = 23, altezza = 5.79, name = 'sravan', rollno = '001', peso = 67)]

Conclusione

Questo articolo discute come utilizzare un filtro Where () con diversi metodi sul Frame di dati Pyspark in Python. E abbiamo incluso tutte le condizioni anche con le espressioni SQL.