Python PySpark: filtro DataFrame en varias columnas

En este artículo, vamos a filtrar el marco de datos en varias columnas usando la función filter() y where() en Pyspark en Python.

Creando Dataframe para demostración:

Python3

# importing module
import pyspark
  
# importing sparksession from pyspark.sql module
from pyspark.sql import SparkSession
  
# creating sparksession and giving an app name
spark = SparkSession.builder.appName('sparkdf').getOrCreate()
  
# list  of employee data
data = [[1, "sravan", "company 1"],
        [2, "ojaswi", "company 1"], 
        [3, "rohith", "company 2"],
        [4, "sridevi", "company 1"],
        [1, "sravan", "company 1"],
        [4, "sridevi", "company 1"]]
  
# specify column names
columns = ['ID', 'NAME', 'Company']
  
# creating a dataframe from the lists of data
dataframe = spark.createDataFrame(data, columns)
  
# display dataframe
dataframe.show()

Producción:

Método 1: Usar el método filter()

filter() se usa para devolver el marco de datos en función de la condición dada eliminando las filas del marco de datos o extrayendo las filas o columnas particulares del marco de datos. Vamos a filtrar el marco de datos en varias columnas. Puede tomar una condición y devolver el marco de datos.

Sintaxis:

filtro (marco de datos.condición de columna)

Ejemplo 1: El operador condicional incluye operadores booleanos, lógicos o relacionales.

Python3

# select dataframe where ID less than 3
dataframe.filter(dataframe.ID < 3).show()

Producción:

Ejemplo 2: Programa Python para filtrar datos en base a dos columnas. En este ejemplo, creamos un marco de datos pyspark y seleccionamos un marco de datos donde la identificación es menor a 3 o el nombre es Sridevi

Python3

# select dataframe where ID less than
# 3 or name is sridevi
dataframe.filter((dataframe.ID < 3) | 
                 (dataframe.NAME == 'sridevi')).show()

Producción:

Ejemplo 3: Filtrado de varias columnas

Python3

# select dataframe where ID less than
# 3 or name is sridevi and comapny 1
dataframe.filter((dataframe.ID < 3) | (
    (dataframe.NAME == 'sridevi') & 
  (dataframe.Company == 'company 1'))).show()

Producción:

Método 2: método where()

Dónde: donde es similar a la función filter() que se usa para devolver el marco de datos en función de la condición dada eliminando las filas del marco de datos o extrayendo las filas o columnas particulares del marco de datos. Puede tomar una condición y devolver el marco de datos.

where(marco de datos.condición de columna)

Ejemplo 1: programa de Python para filtrar en múltiples columnas

Python3

# select dataframe where ID less than
# 3 or name is sridevi and comapny 1
dataframe.where((dataframe.ID < 3) | (
    (dataframe.NAME == 'sridevi') &
  (dataframe.Company == 'company 1'))).show()

Producción:

Publicación traducida automáticamente

Artículo escrito por sravankumar8128 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *