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.
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.
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.
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.
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.
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.
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.