En este artículo, vamos a seleccionar un rango de filas de un marco de datos de PySpark.
Se puede hacer de estas formas:
- Usando filtro().
- Usando donde().
- Usando la expresión SQL.
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 students data data = [["1", "sravan", "vignan", 67, 89], ["2", "ojaswi", "vvit", 78, 89], ["3", "rohith", "vvit", 100, 80], ["4", "sridevi", "vignan", 78, 80], ["1", "sravan", "vignan", 89, 98], ["5", "gnanesh", "iit", 94, 98]] # specify column names columns = ['student ID', 'student NAME', 'college', 'subject1', 'subject2'] # creating a dataframe from the lists of data dataframe = spark.createDataFrame(data, columns) # display dataframe dataframe.show()
Producción:
Método 1: Usar filtro()
Esta función se utiliza para filtrar el marco de datos seleccionando los registros según la condición dada.
Sintaxis : dataframe.filter (condición)
Ejemplo: código de Python para seleccionar el marco de datos basado en la columna subject2.
Python3
# select dataframe between # 23 and 78 marks in subject2 dataframe.filter( dataframe.subject1.between(23,78)).show()
Producción:
Método 2: Usando where()
Esta función se utiliza para filtrar el marco de datos seleccionando los registros según la condición dada.
Sintaxis : dataframe.where(condición)
Ejemplo 1: programa de Python para seleccionar el marco de datos basado en la columna subject1.
Python3
# select dataframe between # 85 and 100 in subject1 column dataframe.where( dataframe.subject1.between(85,100)).show()
Producción:
Ejemplo 2: seleccione filas en el marco de datos por columna de universidad
Python3
# select dataframe in college column # for vvit dataframe.where( dataframe.college.between("vvit","vvit")).collect()
Producción:
[Row(ID=’2′, estudiante NOMBRE=’ojaswi’, college=’vvit’, sujeto1=78, sujeto2=89),
Row(ID=’3′, estudiante NOMBRE=’rohith’, college=’vvit’, sujeto1=100, sujeto2=80)]
Método 3: usar la expresión SQL
Al usar la consulta SQL con el operador between() podemos obtener el rango de filas.
Sintaxis: spark.sql(“SELECCIONE * DESDE mi_vista DONDE nombre_columna entre valor1 y valor2”)
Ejemplo 1: programa de Python para seleccionar filas del marco de datos basado en la columna subject2
Python3
# create view for the dataframe dataframe.createOrReplaceTempView("my_view") # data subject1 between 23 and 78 spark.sql("SELECT * FROM my_view WHERE\ subject1 between 23 and 78").collect()
Producción:
[Row(student ID=’1′, student NAME=’sravan’, college=’vignan’, subject1=67, subject2=89),
Row(student ID=’2′, student NAME=’ojaswi’, college=’vvit’, subject1=78, subject2=89),
Row(student ID=’4′, student NAME=’sridevi’, college=’vignan’, subject1=78, subject2=80)]
Ejemplo 2: Selección basada en ID
Python3
# create view for the dataframe dataframe.createOrReplaceTempView("my_view") # data subject1 between 23 and 78 spark.sql("SELECT * FROM my_view WHERE\ ID between 1 and 3").collect()
Producción:
[Row(ID=’1′, Student NAME=’sravan’, college=’vignan’, subject1=67, subject2=89),
Fila(ID=’2′, NOMBRE del estudiante=’ojaswi’, universidad=’vvit’, materia1=78, materia2=89),
Fila(ID=’3′, NOMBRE del estudiante=’rohith’, universidad=’vvit’, materia1=100, materia2=80),
Row(ID=’1′, estudiante NOMBRE=’sravan’, universidad=’vignan’, materia1=89, materia2=98)]
Publicación traducida automáticamente
Artículo escrito por sravankumar8128 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA