¿Cómo ordenar PysPark DataFrame por varias columnas?

En este artículo, ordenaremos las múltiples columnas usando las funciones orderBy() en el marco de datos pyspark. Ordenar las filas significa organizar las filas en orden ascendente o descendente, por lo que vamos a crear el marco de datos utilizando una lista anidada y obtener los datos distintos.

función orderBy() que ordena una o más columnas. Por defecto ordena de forma ascendente.

Sintaxis: orderBy(*columnas, ascendente=Verdadero)

Parámetros:

  • cols: Columnas por las que se necesita realizar la clasificación.
  • ascendente: valor booleano para decir que la clasificación debe hacerse en orden ascendente

Programa de ejemplo para crear un marco de datos con datos de estudiantes como informació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"],
       ["2","ojaswi","vvit"],
       ["3","rohith","vvit"],
       ["4","sridevi","vignan"],
       ["1","sravan","vignan"], 
       ["5","gnanesh","iit"]]
  
# specify column names
columns=['student ID','student NAME','college']
  
# creating a dataframe from the lists of data
dataframe = spark.createDataFrame(data,columns)
  
print("Actual data in dataframe")
  
# show dataframe
dataframe.show()

Producción:

Actual data in dataframe
+----------+------------+-------+
|student ID|student NAME|college|
+----------+------------+-------+
|         1|      sravan| vignan|
|         2|      ojaswi|   vvit|
|         3|      rohith|   vvit|
|         4|     sridevi| vignan|
|         1|      sravan| vignan|
|         5|     gnanesh|    iit|
+----------+------------+-------+

Ejemplo 1: programa de Python para mostrar el marco de datos ordenando el marco de datos en función de dos columnas en orden descendente usando la función orderby()

Python3

# show dataframe by sorting the dataframe based
# on two columns in descending order using orderby() function
dataframe.orderBy(['student ID','student NAME'],
                  ascending=False).show()

Producción:

+----------+------------+-------+
|student ID|student NAME|college|
+----------+------------+-------+
|         5|     gnanesh|    iit|
|         4|     sridevi| vignan|
|         3|      rohith|   vvit|
|         2|      ojaswi|   vvit|
|         1|      sravan| vignan|
|         1|      sravan| vignan|
+----------+------------+-------+

Ejemplo 2: programa de Python para mostrar el marco de datos ordenando el marco de datos en función de dos columnas en orden ascendente usando la función orderby()

Python3

# show dataframe by sorting the dataframe
# based on two columns in ascending order
# using orderby() function
dataframe.orderBy(['student ID','student NAME'],
                  ascending=True).show()

Producción:

+----------+------------+-------+
|student ID|student NAME|college|
+----------+------------+-------+
|         1|      sravan| vignan|
|         1|      sravan| vignan|
|         2|      ojaswi|   vvit|
|         3|      rohith|   vvit|
|         4|     sridevi| vignan|
|         5|     gnanesh|    iit|
+----------+------------+-------+

Publicación traducida automáticamente

Artículo escrito por gottumukkalabobby 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 *