PySpark: ordena el marco de datos por varias columnas

En este artículo, veremos cómo ordenar el marco de datos de PySpark por varias columnas.

Se puede hacer de estas formas:

  • Usando ordenar()
  • Usando ordenar por()

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"],
        ["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:

Método 1: Usar la función sort()

Esta función se utiliza para ordenar la columna.

Sintaxis: dataframe.sort([‘columna1′,’columna2′,’columna n’],ascending=True)

Dónde,

  • dataframe es el nombre del marco de datos creado a partir de las listas anidadas usando pyspark
  • donde las columnas son las primeras de las columnas
  • ascendente = Verdadero especifica el orden del marco de datos en orden creciente, ascendente = Falso especifica el orden del marco de datos en orden decreciente

Ejemplo 1: código de Python para ordenar el marco de datos pasando una lista de varias columnas (2 columnas) en orden ascendente.

Python3

# show dataframe by sorting the dataframe
# based on two columns in ascending order
dataframe.sort(['college','student ID'],
               ascending = True).show()

Producción:

Ejemplo 2: programa Python para ordenar el marco de datos pasando una lista de columnas en orden descendente

Python3

# show dataframe by sorting the dataframe
# based on two columns in descending order
dataframe.sort(['college','student NAME'],
               ascending = False).show()

Producción:

Método 2: Usar la función orderBy().

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

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:

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:

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 *