Pyspark Shiftleft e funzioni Shiftright

Pyspark Shiftleft e funzioni Shiftright
Operazioni di spostamento Medio di spostamento dei bit rispetto al numero totale di posizioni fornite in un numero binario.

Quindi, internamente, il numero viene convertito in formato binario e i bit vengono spostati. Ci sono due possibilità. O i bit si spostano da sinistra a destra o da destra a sinistra.

I pezzi mutevoli da sinistra a destra sono chiamati il ​​turno sinistro e i pezzi spostanti da destra a sinistra è noto come il turno destro.

In questo tutorial Pyspark, vedremo come fare il turno sinistro e il turno a destra sui valori in una colonna particolare di un frame di dati.

funzione shiftleft ()

È disponibile in pyspark.SQL.funzioni modulo. La funzione Shiftleft () sposta i bit a sinistra.

Viene valutato nella formula, valore*(2^shift).

Per esempio:

Spostiamo il valore 12 per 3 bit.

Soluzione:

12*(2*3)
=> 12*8
=> 96

Quindi, 12 dopo aver cambiato 3 morsi è 96.

Questo può essere utilizzato all'interno del metodo Select () poiché possiamo visualizzare i valori spostati in una colonna usando il metodo Select () in PysPark.

Sintassi
dataframe_obj.Seleziona (DataFrame_Obj.m1, shiftleft (dataframe_obj.colonna, n))

Parametri:
La funzione Shiftleft () richiede due parametri.

  1. Il primo parametro è il nome della colonna.
  2. Il secondo parametro è l'intero che rappresenta il numero totale di bit da spostare a sinistra.

Esempio 1
Quindi, creeremo un frame dati pyspark con 5 righe e 5 colonne: ['soggetto_id', 'name', 'age', 'm1', 'm2'].
E sposta 2 bit in colonne M1 e M2 a sinistra.

Importare pyspark
da pyspark.SQL Importazione di importazione
Spark_app = SparkSession.costruttore.nome dell'applicazione('_').getOrCreate ()
Studenti = [(4, "Sravan", 23,78,90),
(4, 'Chandana', 23,67,89),
(46, "Mounika", 22,54,67),
(4, 'Deepika', 21.100.100),
(46, 'Chandrika', 22,50,50),
"
DataFrame_obj = Spark_app.CreateAtaFrame (Students, ['Subport_id', 'Name', 'Age', 'M1', 'M2'])
dataframe_obj.spettacolo()
# Importa la funzione Shiftleft dal modulo - Pyspark.SQL.funzioni
da pyspark.SQL.Funzioni Importa Shiftleft
#Perform Shiftleft Funzionamento su tutti i valori nella colonna M1 per 2 posizioni
# e colonna M2 per 2 posizioni
dataframe_obj.Seleziona (DataFrame_Obj.m1, shiftleft (dataframe_obj.m1,2), dataframe_obj.M2, Shiftleft (dataframe_obj.m2,2)).spettacolo()

Produzione:

Spiegazione

Nella colonna M1:

78 => 78*(2^2) = 312
67 => 67*(2^2) = 268
54 => 54*(2^2) = 216
100 => 100*(2^2) = 400
50 => 50*(2^2) = 200

Nella colonna M2:

90 => 90*(2^2) = 360
89 => 89*(2^2) = 356
67 => 67*(2^2) = 268
100 => 100*(2^2) = 400
50 => 50*(2^2) = 200

Esempio 2
Quindi, creeremo un frame dati pyspark con 5 righe e 5 colonne: ['soggetto_id', 'name', 'age', 'm1', 'm2'].
E spostare 4 bit in colonne M1 e M2 a sinistra.

importare pyspark
da pyspark.SQL Importazione di importazione
Spark_app = SparkSession.costruttore.nome dell'applicazione('_').getOrCreate ()
Studenti = [(4, "Sravan", 23,78,90),
(4, 'Chandana', 23,67,89),
(46, "Mounika", 22,54,67),
(4, 'Deepika', 21.100.100),
(46, 'Chandrika', 22,50,50),
"
DataFrame_obj = Spark_app.CreateAtaFrame (Students, ['Subport_id', 'Name', 'Age', 'M1', 'M2'])
dataframe_obj.spettacolo()
# Importa la funzione Shiftleft dal modulo - Pyspark.SQL.funzioni
da pyspark.SQL.Funzioni Importa Shiftleft
#Perform Shiftleft Funzionamento su tutti i valori nella colonna M1 per 4 posizioni
# e colonna M2 per 4 posizioni
dataframe_obj.Seleziona (DataFrame_Obj.m1, shiftleft (dataframe_obj.m1,4), dataframe_obj.M2, Shiftleft (dataframe_obj.m2,4)).spettacolo()

Produzione:

Spiegazione

Nella colonna M1:

78 => 78*(2^4) = 1248
67 => 67*(2^4) = 1072
54 => 54*(2^4) = 864
100 => 100*(2^4) = 1600
50 => 50*(2^4) = 800

Nella colonna M2:

90 => 90*(2^4) = 1440
89 => 89*(2^4) = 1424
67 => 67*(2^4) = 1072
100 => 100*(2^4) = 1600
50 => 50*(2^4) = 800

funzione shiftright ()

È disponibile in pyspark.SQL.funzioni modulo. La funzione Shiftright () sposta i bit a destra.

Viene valutato nella formula, valore/(2^shift)

Ad esempio: spostiamo il valore 12 per 3 bit.

Soluzione:

12/(2*3)
=> 12/8
=> 1

Pertanto, 12 dopo aver spostato 3 morsi da destra a sinistra è 1.

Questo può essere utilizzato all'interno del metodo Select (). Perché possiamo visualizzare i valori spostati in una colonna usando il metodo Select () in PysPark.

Sintassi
dataframe_obj.Seleziona (DataFrame_Obj.m1, shiftright (dataframe_obj.colonna, n))

Parametri:
Shiftright () prende due parametri.

  1. Il primo parametro è il nome della colonna.
  2. Il secondo parametro è l'intero che rappresenta il numero totale di bit da spostare a destra.

Esempio 1
Quindi, creeremo un frame dati pyspark con 5 righe e 5 colonne: ['soggetto_id', 'name', 'age', 'm1', 'm2'].
E sposta 2 bit nelle colonne M1 e M2 a destra.

importare pyspark
da pyspark.SQL Importazione di importazione
Spark_app = SparkSession.costruttore.nome dell'applicazione('_').getOrCreate ()
Studenti = [(4, "Sravan", 23,78,90),
(4, 'Chandana', 23,67,89),
(46, "Mounika", 22,54,67),
(4, 'Deepika', 21.100.100),
(46, 'Chandrika', 22,50,50),
"
DataFrame_obj = Spark_app.CreateAtaFrame (Students, ['Subport_id', 'Name', 'Age', 'M1', 'M2'])
dataframe_obj.spettacolo()
# Importa la funzione Shiftright dal modulo - Pyspark.SQL.funzioni
da pyspark.SQL.Funzioni Importa Shiftright
#Perform Shiftright Operation su tutti i valori nella colonna M1 per 2 posizioni
# e colonna M2 per 2 posizioni
dataframe_obj.Seleziona (DataFrame_Obj.m1, shiftright (dataframe_obj.m1,2), dataframe_obj.m2, shiftright (dataframe_obj.m2,2)).spettacolo()

Produzione:

Spiegazione

Nella colonna M1:

78 => 78/(2^2) = 19
67 => 67/(2^2) = 16
54 => 54/(2^2) = 13
100 => 100/(2^2) = 25
50 => 50/(2^2) = 12

Nella colonna M2:

90 => 90/(2^2) = 22
89 => 89/(2^2) = 22
67 => 67/(2^2) = 16
100 => 100/(2^2) = 25
50 => 50/(2^2) = 12

Esempio 2
Quindi, creeremo un frame dati pyspark con 5 righe e 5 colonne: ['soggetto_id', 'name', 'age', 'm1', 'm2'].
E sposta 4 bit in colonne M1 e M2 a destra.

importare pyspark
da pyspark.SQL Importazione di importazione
Spark_app = SparkSession.costruttore.nome dell'applicazione('_').getOrCreate ()
Studenti = [(4, "Sravan", 23,78,90),
(4, 'Chandana', 23,67,89),
(46, "Mounika", 22,54,67),
(4, 'Deepika', 21.100.100),
(46, 'Chandrika', 22,50,50),
"
DataFrame_obj = Spark_app.CreateAtaFrame (Students, ['Subport_id', 'Name', 'Age', 'M1', 'M2'])
dataframe_obj.spettacolo()
# Importa la funzione Shiftright dal modulo - Pyspark.SQL.funzioni
da pyspark.SQL.Funzioni Importa Shiftright
#Perform Shiftright Operation su tutti i valori nella colonna M1 per 4 posizioni
# e colonna M2 per 4 posizioni
dataframe_obj.Seleziona (DataFrame_Obj.m1, shiftright (dataframe_obj.m1,4), dataframe_obj.m2, shiftright (dataframe_obj.m2,4)).spettacolo()

Produzione:

Spiegazione

Nella colonna M1:

78 => 78/(2^4) = 4
67 => 67/(2^4) = 4
54 => 54/(2^4) = 3
100 => 100/(2^4) = 6
50 => 50/(2^4) = 3

Nella colonna M2:

90 => 90/(2^4) = 5
89 => 89/(2^4) = 5
67 => 67/(2^4) = 4
100 => 100/(2^4) = 6
50 => 50/(2^4) = 3

Conclusione

In questo tutorial Pyspark, vediamo come spostare i bit nel frame dati pyspark. La funzione Shiftleft () sposta i bit a sinistra. Viene valutato nella formula, valore*(2^shift). La funzione Shiftright () sposta i bit a destra. Viene valutato in formula, valore/(2^shift). Assicurati di dover importare queste due funzioni dal pyspark.SQL.modulo funzioni.