Pyspark - Drop, Drop Column

Pyspark - Drop, Drop Column
En Python, Pyspark es un módulo Spark utilizado para proporcionar un tipo similar de procesamiento como Spark usando DataFrame. Drop () en Pyspark se usa para eliminar las columnas del marco de datos. Al usar Drop (), podemos eliminar más de una columna a la vez en el Pyspark DataFrame. Podemos soltar las columnas de DataFrame de tres maneras. Antes de eso, tenemos que crear Pyspark DataFrame para la demostración.

Ejemplo:

Crearemos un marco de datos con 5 filas y 6 columnas y lo mostraremos usando el método show ().

#Importa el módulo Pyspark
importar pyspark
#Import Sparksession para crear una sesión
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', 'edad': 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', 'edad': 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)
#Data DataFrame
df.espectáculo()

Producción:

Ahora, muestre el esquema de marco de datos utilizando el método PrintSchema () para verificar las columnas antes de eliminar las columnas.

Este método devolverá los nombres de la columna junto con su tipo de datos.

#Importa el módulo Pyspark
importar pyspark
#Import Sparksession para crear una sesión
de Pyspark.SQL Import Sparksession
#Importa la función de conteo
de Pyspark.sql.Cuento de importación de funciones
#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', 'edad': 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', 'edad': 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)
#Dispraad 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: largo (anulable = verdadero)

Método -1: Drop de columna única

Eliminaremos solo una columna a la vez usando la función Drop () pasando la columna dentro de la función de caída.

Sintaxis:

df.Drop ('column_name')

Dónde,

  1. DF es la entrada Pyspark DataFrame
  2. column_name es la columna que se eliminará.

Ejemplo :

En este ejemplo, eliminaremos la columna de nombre y mostraremos el marco de datos resultante y el esquema.

#Importa el módulo Pyspark
importar pyspark
#Import Sparksession para crear una sesión
de Pyspark.SQL Import Sparksession
#Importa la función de conteo
de Pyspark.sql.Cuento de importación de funciones
#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', 'edad': 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', 'edad': 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)
columna de nombre #drop
DF = DF.Drop ('Nombre')
#Ceck the DataFrame
Imprimir (DF.recolectar())
#Dispraad el esquema
#FTER MUCHO DE Nombre de eliminación
df.printschema ()

Producción:

[Fila (dirección = 'Guntur', edad = 23, altura = 5.79, rollNo = '001', peso = 67), fila (dirección = 'hyd', edad = 16, altura = 3.79, rollNo = '002', peso = 34), fila (dirección = 'patna', edad = 7, altura = 2.79, rollNo = '003', peso = 17), fila (dirección = 'hyd', edad = 9, altura = 3.69, rollNo = '004', peso = 28), fila (dirección = 'hyd', edad = 37, altura = 5.59, rollno = '005', peso = 54)]
raíz
|- Dirección: String (Nullable = True)
|- edad: larga (anulable = verdadero)
|- Altura: Double (Nullable = True)
|- Rollno: String (Nullable = True)
|- peso: largo (anulable = verdadero)

En el ejemplo anterior, veremos que la columna de nombre no está presente en DataFrame

Método - 2: Drop Mutiple Columnas

Eliminaremos solo una columna a la vez usando la función Drop () pasando la columna dentro de la función de caída. Si tenemos que eliminar varias columnas, entonces tenemos que agregar * antes de que se eliminen los nombres de la columna dentro ().

Sintaxis:

df.drop (*('column_name', 'column_name', ..., 'column_name'))

Dónde,

  1. DF es la entrada Pyspark DataFrame
  2. column_name es la columna que se eliminará.

Ejemplo :

En este ejemplo, eliminaremos las columnas de nombre, altura y peso y mostraremos el marco de datos resultante junto con el esquema.

#Importa el módulo Pyspark
importar pyspark
#Import Sparksession para crear una sesión
de Pyspark.SQL Import Sparksession
#Importa la función de conteo
de Pyspark.sql.Cuento de importación de funciones
#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', 'edad': 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', 'edad': 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)
#columna de nombre, altura y peso
DF = DF.Drop (*('nombre', 'altura', 'peso'))
#Ceck the DataFrame
Imprimir (DF.recolectar())
#Dispraad el esquema
#FTER MUCHO DE Nombre de eliminación
df.printschema ()

Producción:

[Fila (dirección = 'guntur', edad = 23, rollNo = '001'), fila (direcciones = 'hyd', edad = 16, rollNo = '002'), fila (dirección = 'patna', edad = 7 , rollNo = '003'), fila (dirección = 'hyd', edad = 9, rollNo = '004'), fila (dirección = 'hyd', edad = 37, rollNo = '005')]]]
raíz
|- Dirección: String (Nullable = True)
|- edad: larga (anulable = verdadero)
|- Rollno: String (Nullable = True)

En el ejemplo anterior, veremos que el nombre, la altura y las columnas de peso no están presentes en el marco de datos.

Método - 3: Drop de columnas Mutiple desde una lista

Eliminaremos solo una columna a la vez usando la función Drop () pasando la columna dentro de la función de caída. Si tenemos que eliminar varias columnas, entonces tenemos que agregar * antes de eliminar los nombres de la columna dentro de una lista - [].

Sintaxis:

df.lista desplegable)

Aquí, la lista contendrá varias columnas

list = (column_name ',' column_name ', ...,' column_name ')

Dónde,

  1. DF es la entrada Pyspark DataFrame
  2. column_name es la columna que se eliminará.

Ejemplo :

En este ejemplo, eliminaremos las columnas de nombre, altura y peso pasadas a través de List1 y mostraremos el marco de datos resultante junto con el esquema.

#Importa el módulo Pyspark
importar pyspark
#Import Sparksession para crear una sesión
de Pyspark.SQL Import Sparksession
#Importa la función de conteo
de Pyspark.sql.Cuento de importación de funciones
#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', 'edad': 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', 'edad': 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)
#lista de columnas
list1 = ['nombre', 'altura', 'peso']
#columnas de drop de la lista1
DF = DF.Drop (*List1)
#Ceck the DataFrame
Imprimir (DF.recolectar())
#Dispraad el esquema
#FTER MUCHO DE Nombre de eliminación
df.printschema ()

Producción:

[Fila (dirección = 'guntur', edad = 23, rollNo = '001'), fila (direcciones = 'hyd', edad = 16, rollNo = '002'), fila (dirección = 'patna', edad = 7 , rollNo = '003'), fila (dirección = 'hyd', edad = 9, rollNo = '004'), fila (dirección = 'hyd', edad = 37, rollNo = '005')]]]
raíz
|- Dirección: String (Nullable = True)
|- edad: larga (anulable = verdadero)
|- Rollno: String (Nullable = True)

En el ejemplo anterior, veremos que el nombre, la altura y las columnas de peso no están presentes en el marco de datos.

Conclusión:

Discutimos cómo soltar las columnas usando la función Drop (), y también hemos discutido cómo eliminar varias columnas a la vez con Drop pasando una lista de columnas y pasando múltiples columnas.