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