Funciones de Pyspark Shiftleft y Shiftright

Funciones de Pyspark Shiftleft y Shiftright
Las operaciones de turno significan cambiar los bits con respecto al número total de posiciones proporcionadas en un número binario.

Entonces, internamente, el número se convierte en formato binario, y los bits se cambian. Hay dos posibilidades. O los bits se cambiarán de izquierda a derecha o de derecha a izquierda.

Los trozos de cambio de izquierda a derecha se denominan desplazamiento a la izquierda, y los bits de cambio de derecha a izquierda se conocen como el cambio derecho.

En este tutorial de Pyspark, veremos cómo hacer el cambio izquierdo y el cambio derecho en los valores en una columna particular de un marco de datos.

función shiftleft ()

Está disponible en el pyspark.sql.funciones módulo. La función Shiftleft () cambia los bits a la izquierda.

Se evalúa a la fórmula, valor*(2^turno).

Por ejemplo:

Cambiemos el valor 12 por 3 bits.

Solución:

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

Entonces, 12 después de cambiar 3 bocados es 96.

Esto se puede usar dentro del método select () ya que podemos mostrar los valores desplazados en una columna usando el método select () en pyspark.

Sintaxis
dataframe_obj.SELECT (dataFrame_obj.M1, Shiftleft (dataFrame_OBJ.columna, n))

Parámetros:
La función Shiftleft () toma dos parámetros.

  1. El primer parámetro es el nombre de la columna.
  2. El segundo parámetro es el entero que representa el número total de bits que se cambiarán a la izquierda.

Ejemplo 1
Entonces, crearemos un marco de datos de Pyspark con 5 filas y 5 columnas: ['temas_id', 'nombre', 'edad', 'm1', 'm2']].
Y cambiar 2 bits en columnas M1 y M2 a la izquierda.

Importar pyspark
de Pyspark.SQL Import Sparksession
Spark_app = Sparksession.constructor.nombre de la aplicación('_').getorcreate ()
Estudiantes = [(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.creatataframe (estudiantes, ['temas_id', 'nombre', 'edad', 'm1', 'm2'])
dataframe_obj.espectáculo()
# Importar la función Shiftleft desde el módulo - Pyspark.sql.funciones
de Pyspark.sql.Funciones Importar Shiftleft
#operación de cambio de cambio en todos los valores en la columna M1 por 2 posiciones
columna # y m2 por 2 posiciones
dataframe_obj.SELECT (dataFrame_obj.M1, Shiftleft (dataFrame_OBJ.M1,2), DataFrame_obj.M2, Shiftleft (dataFrame_obj.m2,2)).espectáculo()

Producción:

Explicación

En la columna 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

En la columna 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

Ejemplo 2
Entonces, crearemos un marco de datos de Pyspark con 5 filas y 5 columnas: ['temas_id', 'nombre', 'edad', 'm1', 'm2']].
Y cambiar 4 bits en columnas M1 y M2 a la izquierda.

importar pyspark
de Pyspark.SQL Import Sparksession
Spark_app = Sparksession.constructor.nombre de la aplicación('_').getorcreate ()
Estudiantes = [(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.creatataframe (estudiantes, ['temas_id', 'nombre', 'edad', 'm1', 'm2'])
dataframe_obj.espectáculo()
# Importar la función Shiftleft desde el módulo - Pyspark.sql.funciones
de Pyspark.sql.Funciones Importar Shiftleft
#operación de cambio de cambio en todos los valores en la columna M1 por 4 posiciones
columna # y m2 por 4 posiciones
dataframe_obj.SELECT (dataFrame_obj.M1, Shiftleft (dataFrame_OBJ.M1,4), DataFrame_obj.M2, Shiftleft (dataFrame_obj.m2,4)).espectáculo()

Producción:

Explicación

En la columna 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

En la columna 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

función shiftright ()

Está disponible en el pyspark.sql.funciones módulo. La función shiftright () cambia los bits a la derecha.

Se evalúa a la fórmula, valor/(2^turno)

Por ejemplo: cambiemos el valor 12 por 3 bits.

Solución:

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

Por lo tanto, 12 después de cambiar 3 bocados de derecha a izquierda es 1.

Esto se puede usar dentro del método select (). Porque podemos mostrar los valores desplazados en una columna usando el método select () en Pyspark.

Sintaxis
dataframe_obj.SELECT (dataFrame_obj.m1, shiftright (dataFrame_obj.columna, n))

Parámetros:
Shiftright () toma dos parámetros.

  1. El primer parámetro es el nombre de la columna.
  2. El segundo parámetro es el entero que representa el número total de bits que se cambiarán a la derecha.

Ejemplo 1
Entonces, crearemos un marco de datos de Pyspark con 5 filas y 5 columnas: ['temas_id', 'nombre', 'edad', 'm1', 'm2']].
Y cambiar 2 bits en columnas M1 y M2 a la derecha.

importar pyspark
de Pyspark.SQL Import Sparksession
Spark_app = Sparksession.constructor.nombre de la aplicación('_').getorcreate ()
Estudiantes = [(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.creatataframe (estudiantes, ['temas_id', 'nombre', 'edad', 'm1', 'm2'])
dataframe_obj.espectáculo()
# Importar la función Shiftright desde el módulo - Pyspark.sql.funciones
de Pyspark.sql.Funciones Importar Shiftright
#operación de ShifTright de rendimiento en todos los valores en la columna M1 por 2 posiciones
columna # y m2 por 2 posiciones
dataframe_obj.SELECT (dataFrame_obj.m1, shiftright (dataFrame_obj.M1,2), DataFrame_obj.m2, shiftright (dataFrame_obj.m2,2)).espectáculo()

Producción:

Explicación

En la columna 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

En la columna 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

Ejemplo 2
Entonces, crearemos un marco de datos de Pyspark con 5 filas y 5 columnas: ['temas_id', 'nombre', 'edad', 'm1', 'm2']].
Y cambiar 4 bits en columnas M1 y M2 a la derecha.

importar pyspark
de Pyspark.SQL Import Sparksession
Spark_app = Sparksession.constructor.nombre de la aplicación('_').getorcreate ()
Estudiantes = [(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.creatataframe (estudiantes, ['temas_id', 'nombre', 'edad', 'm1', 'm2'])
dataframe_obj.espectáculo()
# Importar la función Shiftright desde el módulo - Pyspark.sql.funciones
de Pyspark.sql.Funciones Importar Shiftright
#Operación de ShifTright de rendimiento en todos los valores en la columna M1 por 4 posiciones
columna # y m2 por 4 posiciones
dataframe_obj.SELECT (dataFrame_obj.m1, shiftright (dataFrame_obj.M1,4), DataFrame_obj.m2, shiftright (dataFrame_obj.m2,4)).espectáculo()

Producción:

Explicación

En la columna 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

En la columna 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

Conclusión

En este tutorial de Pyspark, vemos cómo cambiar los bits en el marco de datos de Pyspark. La función Shiftleft () cambia los bits a la izquierda. Se evalúa a la fórmula, valor*(2^cambio). La función shiftright () cambia los bits a la derecha. Se evalúa a la fórmula, valor/(2^cambio). Asegúrese de tener que importar estas dos funciones del Pyspark.sql.módulo de funciones.