Pyspark Convertir columna de cadena a tipo entero

Pyspark Convertir columna de cadena a tipo entero
En Python, Pyspark es un módulo Spark utilizado para proporcionar un tipo similar de procesamiento como Spark usando DataFrame. Discutiremos diferentes métodos para convertir la columna de una cadena a otra en Pyspark DataFrame.
  1. Método 1: Uso de la palabra clave int withColumn ()
  2. Método 2: Uso de InteGerType () con WithColumn ()
  3. Método 3: Uso de la palabra clave int select ()
  4. Método 4: Uso de la palabra clave int con selectExpr ()

Antes de pasar a los escenarios, crearemos Pyspark DataFrame. Aquí vamos a crear Pyspark DataFrame con 5 filas y 6 columnas y mostrar la columna con tipos de datos utilizando el método PrintSchema ().

importar pyspark
de Pyspark.SQL Import Sparksession
#cree una aplicación llamada Linuxhint
Spark_app = Sparksession.constructor.AppName ('Linuxhint').getorcreate ()
# Crear datos de estudiante con 5 filas y 6 atributos
estudiantes = [
'Rollno': '001', 'Nombre': 'Sravan', 'Age': 23,
'Altura': 5.79, 'Peso': '67', 'Dirección': 'Guntur',
'Rollno': '002', 'Nombre': 'Ojaswi', 'Age': 16,
'Altura': 3.79, 'Peso': '34', 'Dirección': 'Hyd',
'Rollno': '003', 'Nombre': 'Gnanesh Chowdary', 'Age': 7,
'Altura': 2.79, 'Peso': '17', 'Dirección': 'Patna',
'Rollno': '004', 'Nombre': 'Rohith', 'Age': 9,
'Altura': 3.69, 'Peso': '28', 'Dirección': 'Hyd',
'Rollno': '005', 'Nombre': 'Sridevi', 'Age': 37,
'Altura': 5.59, 'Peso': '54', 'Dirección': 'Hyd']
# Crea el DataFrame
DF = Spark_App.Createdataframe (estudiantes)
#get el esquema
df.printschema ()

Producción:

raíz
|- Dirección: String (Nullable = True)
|- edad: larga (anulable = verdadero)
|- Altura: Double (Nullable = True)
|- Nombre: String (Nullable = True)
|- Rollno: String (Nullable = True)
|- Peso: String (Nullable = True)

Método 1: Uso de la palabra clave int con el método withColumn ()

En este método, estamos utilizando el método withColumn () para cambiar el tipo de datos de cadena a entero pasando la palabra clave ints dentro de la función Cast ().

Sintaxis:
marco de datos.WithColumn ("columna", df.columna.Cast ('int'))

withColumn () tomará dos parámetros:

  1. La columna es el nombre de la columna cuyo tipo de datos se convierte.
  2. cast () convierte la cadena en entero tomando la palabra clave int como parámetro.

Ejemplo:
En este ejemplo, convertiremos el tipo de datos de columna de peso en entero y mostraremos el esquema usando el método printschema ().

importar pyspark
de Pyspark.SQL Import Sparksession
#cree una aplicación llamada Linuxhint
Spark_app = Sparksession.constructor.AppName ('Linuxhint').getorcreate ()
# Crear datos de estudiante con 5 filas y 6 atributos
estudiantes = [
'Rollno': '001', 'Nombre': 'Sravan', 'Age': 23,
'Altura': 5.79, 'Peso': '67', 'Dirección': 'Guntur',
'Rollno': '002', 'Nombre': 'Ojaswi', 'Age': 16,
'Altura': 3.79, 'Peso': '34', 'Dirección': 'Hyd',
'Rollno': '003', 'Nombre': 'Gnanesh Chowdary', 'Age': 7,
'Altura': 2.79, 'Peso': '17', 'Dirección': 'Patna',
'Rollno': '004', 'Nombre': 'Rohith', 'Age': 9,
'Altura': 3.69, 'Peso': '28', 'Dirección': 'Hyd',
'Rollno': '005', 'Nombre': 'Sridevi', 'Age': 37,
'Altura': 5.59, 'Peso': '54', 'Dirección': 'Hyd']
# Crea el DataFrame
DF = Spark_App.Createdataframe (estudiantes)
#Convertir el tipo de datos de la columna de peso al entero
df.WithColumn ("Peso", DF.peso.Cast ('int')).printschema ()

Producción:

raíz
|- Dirección: String (Nullable = True)
|- edad: larga (anulable = verdadero)
|- Altura: Double (Nullable = True)
|- Nombre: String (Nullable = True)
|- Rollno: String (Nullable = True)
|- Peso: Integer (Nullable = True)

Método 2: Uso de InteGerType () con el método WithColumn ()

En este método, estamos utilizando el método withColumn () para cambiar el tipo de datos de cadena a entero pasando Integertype () Método dentro de la función Cast (). Tenemos que importar este método de Pyspark.sql.Módulo de tipos.

Sintaxis:
marco de datos.WithColumn ("columna", df.columna.Cast (InteGerType ()))

withColumn () tomará dos parámetros:

  1. La columna es el nombre de la columna cuyo tipo de datos se convierte.
  2. cast () convierte la cadena en entero tomando el método InteGerType () como parámetro.

Ejemplo:
En este ejemplo, convertiremos el tipo de datos de columna de peso en entero y mostraremos el esquema usando el método printschema ().

importar pyspark
de Pyspark.SQL Import Sparksession
de Pyspark.sql.tipos importe integertype
#cree una aplicación llamada Linuxhint
Spark_app = Sparksession.constructor.AppName ('Linuxhint').getorcreate ()
# Crear datos de estudiante con 5 filas y 6 atributos
estudiantes = [
'Rollno': '001', 'Nombre': 'Sravan', 'Age': 23,
'Altura': 5.79, 'Peso': '67', 'Dirección': 'Guntur',
'Rollno': '002', 'Nombre': 'Ojaswi', 'Age': 16,
'Altura': 3.79, 'Peso': '34', 'Dirección': 'Hyd',
'Rollno': '003', 'Nombre': 'Gnanesh Chowdary', 'Age': 7,
'Altura': 2.79, 'Peso': '17', 'Dirección': 'Patna',
'Rollno': '004', 'Nombre': 'Rohith', 'Age': 9,
'Altura': 3.69, 'Peso': '28', 'Dirección': 'Hyd',
'Rollno': '005', 'Nombre': 'Sridevi', 'Age': 37,
'Altura': 5.59, 'Peso': '54', 'Dirección': 'Hyd']
# Crea el DataFrame
DF = Spark_App.Createdataframe (estudiantes)
#Convertir el tipo de datos de la columna de peso al entero
df.WithColumn ("Peso", DF.peso.Cast (InteGerType ())).printschema ()

Producción:

raíz
|- Dirección: String (Nullable = True)
|- edad: larga (anulable = verdadero)
|- Altura: Double (Nullable = True)
|- Nombre: String (Nullable = True)
|- Rollno: String (Nullable = True)
|- Peso: Integer (Nullable = True)

Método 3: Uso de la palabra clave int con el método select ()

En este método, estamos utilizando el método Select () para cambiar el tipo de datos de String a Integer pasando la palabra clave INT dentro de la función Cast (). Podemos seleccionar la columna usando el método col (). col () se importa de Pyspark.sql.módulo de funciones.

Sintaxis:
marco de datos.Seleccionar (col ("columna"), cast (int '))

select () tomará dos parámetros:

  1. La columna es el nombre de la columna cuyo tipo de datos se convierte.
  2. cast () convierte la cadena en entero tomando la palabra clave int como parámetro.

Ejemplo:
En este ejemplo, convertiremos el tipo de datos de columna de peso en entero y mostraremos el esquema usando el método printschema ().

importar pyspark
de Pyspark.SQL Import Sparksession
de Pyspark.sql.Funciones Importar Col
#cree una aplicación llamada Linuxhint
Spark_app = Sparksession.constructor.AppName ('Linuxhint').getorcreate ()
# Crear datos de estudiante con 5 filas y 6 atributos
estudiantes = [
'Rollno': '001', 'Nombre': 'Sravan', 'Age': 23,
'Altura': 5.79, 'Peso': '67', 'Dirección': 'Guntur',
'Rollno': '002', 'Nombre': 'Ojaswi', 'Age': 16,
'Altura': 3.79, 'Peso': '34', 'Dirección': 'Hyd',
'Rollno': '003', 'Nombre': 'Gnanesh Chowdary', 'Age': 7,
'Altura': 2.79, 'Peso': '17', 'Dirección': 'Patna',
'Rollno': '004', 'Nombre': 'Rohith', 'Age': 9,
'Altura': 3.69, 'Peso': '28', 'Dirección': 'Hyd',
'Rollno': '005', 'Nombre': 'Sridevi', 'Age': 37,
'Altura': 5.59, 'Peso': '54', 'Dirección': 'Hyd']
# Crea el DataFrame
DF = Spark_App.Createdataframe (estudiantes)
#Convertir el tipo de datos de la columna de peso al entero
df.Seleccionar (col ("peso").Cast ('int')).printschema ()

Producción:

raíz
|- Peso: Integer (Nullable = True)

Método 4: Uso de la palabra clave int con selectExpr () método

En este método, estamos utilizando el método SelectExpr () para cambiar el tipo de datos de String a Integer pasando la Función de Tecla de Cast (). Tomará el parámetro como una expresión

Sintaxis:
marco de datos.selectExpr ("Cast (columna como int)")

select () tomará dos parámetros:

  1. La columna es el nombre de la columna cuyo tipo de datos se convierte.
  2. cast () convierte la cadena en entero tomando la palabra clave int como parámetro.

Ejemplo:
En este ejemplo, convertiremos el tipo de datos de columna de peso en entero y mostraremos el esquema usando el método printschema ().

importar pyspark
de Pyspark.SQL Import Sparksession
de Pyspark.sql.Funciones Importar Col
#cree una aplicación llamada Linuxhint
Spark_app = Sparksession.constructor.AppName ('Linuxhint').getorcreate ()
# Crear datos de estudiante con 5 filas y 6 atributos
estudiantes = [
'Rollno': '001', 'Nombre': 'Sravan', 'Age': 23,
'Altura': 5.79, 'Peso': '67', 'Dirección': 'Guntur',
'Rollno': '002', 'Nombre': 'Ojaswi', 'Age': 16,
'Altura': 3.79, 'Peso': '34', 'Dirección': 'Hyd',
'Rollno': '003', 'Nombre': 'Gnanesh Chowdary', 'Age': 7,
'Altura': 2.79, 'Peso': '17', 'Dirección': 'Patna',
'Rollno': '004', 'Nombre': 'Rohith', 'Age': 9,
'Altura': 3.69, 'Peso': '28', 'Dirección': 'Hyd',
'Rollno': '005', 'Nombre': 'Sridevi', 'Age': 37,
'Altura': 5.59, 'Peso': '54', 'Dirección': 'Hyd']
# Crea el DataFrame
DF = Spark_App.Createdataframe (estudiantes)
#Convertir el tipo de datos de la columna de peso al entero
df.selectExpr ("Cast (Weight como int)")

Producción:

DataFrame [peso: int]

Conclusión

En este tutorial, discutimos cuatro métodos para convertir la cadena en columnas de tipo entero en Pyspark DataFrame. withColumn (), select () y selectExpr () son los métodos utilizados para convertir el tipo de datos. Observamos que en todos los métodos, se utiliza el parámetro Cast ().