Funkcje Pyspark Shiftleft i ShifTright

Funkcje Pyspark Shiftleft i ShifTright
Operacje zmianowe oznaczają przesunięcie bitów w odniesieniu do całkowitej liczby pozycji podanych w liczbie binarnej.

Tak więc wewnętrznie liczba jest przekształcana w format binarny, a bity są przesunięte. Istnieją dwie możliwości. Albo bity przesuną się od lewej do prawej lub prawej do lewej.

Przesuwanie bitów od lewej do prawej nazywa się przesunięciem lewym, a przesuwanie bitów od prawej do lewej jest znane jako przesunięcie prawe.

W tym samouczku Pyspark zobaczymy, jak zrobić przesunięcie lewej i prawej zmiany wartości w określonej kolumnie ramki danych.

funkcja shiftleft ()

Jest dostępny w Pyspark.SQL.Funkcje moduł. Funkcja ShiftLeft () przesuwa bity w lewo.

Jest oceniany na formułę, wartość*(2^Shift).

Na przykład:

Przesuńmy wartość 12 na 3 bity.

Rozwiązanie:

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

Tak więc 12 po zmianie 3 kęsów wynosi 96.

Można to użyć wewnątrz metody Select (), ponieważ możemy wyświetlić przesunięte wartości w kolumnie za pomocą metody select () w PYSPARK.

Składnia
DataFrame_Obj.Wybierz (DataFrame_Obj.M1, ShiftLeft (DataFrame_Obj.kolumna, n))

Parametry:
Funkcja ShiftLeft () przyjmuje dwa parametry.

  1. Pierwszy parametr to nazwa kolumny.
  2. Drugi parametr to liczba całkowita reprezentująca całkowitą liczbę bitów, które zostaną przesunięte w lewo.

Przykład 1
Utworzymy więc Pyspark DataFrame z 5 wierszami i 5 kolumnami: [„Temat_id”, „name”, „wiek”, „m1”, „m2”].
I przesuń 2 bity w kolumnach M1 i M2 po lewej stronie.

Import Pyspark
od Pyspark.SQL Import Sparksession
Spark_App = Sparksession.budowniczy.Nazwa aplikacji('_').getorCreate ()
Studenci = [(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.CreatedATAframe (studenci, [„tematy_id”, „nazwa”, „wiek”, „m1”, „m2”])
DataFrame_Obj.pokazywać()
# Zaimportuj funkcję ShiftLeft z modułu - PYSPARK.SQL.Funkcje
od Pyspark.SQL.Funkcje importują ShiftLEFT
#Perform ShiftLeft Operacja na wszystkich wartościach w kolumnie M1 przez 2 pozycje
Kolumna # i M2 przez 2 pozycje
DataFrame_Obj.Wybierz (DataFrame_Obj.M1, ShiftLeft (DataFrame_Obj.M1,2), DataFrame_Obj.M2, ShiftLeft (dataFrame_Obj.M2,2)).pokazywać()

Wyjście:

Wyjaśnienie

W kolumnie 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

W kolumnie 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

Przykład 2
Utworzymy więc Pyspark DataFrame z 5 wierszami i 5 kolumnami: [„Temat_id”, „name”, „wiek”, „m1”, „m2”].
I przesuń 4 bity w kolumnach M1 i M2 po lewej stronie.

Import Pyspark
od Pyspark.SQL Import Sparksession
Spark_App = Sparksession.budowniczy.Nazwa aplikacji('_').getorCreate ()
Studenci = [(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.CreatedATAframe (studenci, [„tematy_id”, „nazwa”, „wiek”, „m1”, „m2”])
DataFrame_Obj.pokazywać()
# Zaimportuj funkcję ShiftLeft z modułu - PYSPARK.SQL.Funkcje
od Pyspark.SQL.Funkcje importują ShiftLEFT
#Perform ShiftLeft Operacja na wszystkich wartościach w kolumnie M1 przez 4 pozycje
Kolumna # i M2 po 4 pozycjach
DataFrame_Obj.Wybierz (DataFrame_Obj.M1, ShiftLeft (DataFrame_Obj.M1,4), DataFrame_Obj.M2, ShiftLeft (dataFrame_Obj.M2,4)).pokazywać()

Wyjście:

Wyjaśnienie

W kolumnie 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

W kolumnie 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

funkcja shiftright ()

Jest dostępny w Pyspark.SQL.Funkcje moduł. Funkcja shiftright () przesuwa bity w prawo.

Jest oceniany na formułę, wartość/(2^Shift)

Na przykład: przesuńmy wartość 12 na 3 bity.

Rozwiązanie:

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

Zatem 12 po zmianie 3 ugryzień z prawej do lewej to 1.

Można to użyć w metodzie Select (). Ponieważ możemy wyświetlać przesunięte wartości w kolumnie za pomocą metody select () w Pyspark.

Składnia
DataFrame_Obj.Wybierz (DataFrame_Obj.M1, ShifTright (DataFrame_Obj.kolumna, n))

Parametry:
shiftright () przyjmuje dwa parametry.

  1. Pierwszy parametr to nazwa kolumny.
  2. Drugim parametrem jest liczba całkowita reprezentująca całkowitą liczbę bitów do przesunięcia w prawo.

Przykład 1
Utworzymy więc Pyspark DataFrame z 5 wierszami i 5 kolumnami: [„Temat_id”, „name”, „wiek”, „m1”, „m2”].
I przesuń 2 bity w kolumnach M1 i M2 po prawej stronie.

Import Pyspark
od Pyspark.SQL Import Sparksession
Spark_App = Sparksession.budowniczy.Nazwa aplikacji('_').getorCreate ()
Studenci = [(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.CreatedATAframe (studenci, [„tematy_id”, „nazwa”, „wiek”, „m1”, „m2”])
DataFrame_Obj.pokazywać()
# Zaimportuj funkcję ShifTright z modułu - Pyspark.SQL.Funkcje
od Pyspark.SQL.Funkcje importują ShifTright
#Perform Operacja ShifTright na wszystkich wartościach w kolumnie M1 przez 2 pozycje
Kolumna # i M2 przez 2 pozycje
DataFrame_Obj.Wybierz (DataFrame_Obj.M1, ShifTright (DataFrame_Obj.M1,2), DataFrame_Obj.M2, ShifTright (DataFrame_Obj.M2,2)).pokazywać()

Wyjście:

Wyjaśnienie

W kolumnie 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

W kolumnie 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

Przykład 2
Utworzymy więc Pyspark DataFrame z 5 wierszami i 5 kolumnami: [„Temat_id”, „name”, „wiek”, „m1”, „m2”].
I przesuń 4 bity w kolumnach M1 i M2 po prawej stronie.

Import Pyspark
od Pyspark.SQL Import Sparksession
Spark_App = Sparksession.budowniczy.Nazwa aplikacji('_').getorCreate ()
Studenci = [(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.CreatedATAframe (studenci, [„tematy_id”, „nazwa”, „wiek”, „m1”, „m2”])
DataFrame_Obj.pokazywać()
# Zaimportuj funkcję ShifTright z modułu - Pyspark.SQL.Funkcje
od Pyspark.SQL.Funkcje importują ShifTright
#Perform Operacja ShifTright na wszystkich wartościach w kolumnie M1 przez 4 pozycje
Kolumna # i M2 po 4 pozycjach
DataFrame_Obj.Wybierz (DataFrame_Obj.M1, ShifTright (DataFrame_Obj.M1,4), DataFrame_Obj.M2, ShifTright (DataFrame_Obj.M2,4)).pokazywać()

Wyjście:

Wyjaśnienie

W kolumnie 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

W kolumnie 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

Wniosek

W tym samouczku Pyspark widzimy, jak zmienić bity w Pyspark DataFrame. Funkcja ShiftLeft () przesuwa bity w lewo. Jest oceniany na wzór, wartość*(2^Shift). Funkcja shiftright () przesuwa bity w prawo. Jest oceniany na wzór, wartość/(przesunięcie 2^). Upewnij się, że musisz zaimportować te dwie funkcje z Pyspark.SQL.Moduł funkcji.