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.
- Método 1: Uso de la palabra clave int withColumn ()
- Método 2: Uso de InteGerType () con WithColumn ()
- Método 3: Uso de la palabra clave int select ()
- 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:
- La columna es el nombre de la columna cuyo tipo de datos se convierte.
- 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:
- La columna es el nombre de la columna cuyo tipo de datos se convierte.
- 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:
- La columna es el nombre de la columna cuyo tipo de datos se convierte.
- 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:
- La columna es el nombre de la columna cuyo tipo de datos se convierte.
- 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 ().