En este artículo, vamos a ordenar las columnas del marco de datos en el archivo pyspark. Para esto, estamos usando las funciones sort() y orderBy() en orden ascendente y descendente.
Vamos a crear un marco de datos de muestra.
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 = ['Employee_ID', 'Employee NAME', 'Company'] # creating a dataframe from the lists of data dataframe = spark.createDataFrame(data, columns) # display data in the dataframe dataframe.show()
Producción:
+-----------+-------------+---------+ |Employee_ID|Employee NAME| Company| +-----------+-------------+---------+ | 1| sravan|company 1| | 2| ojaswi|company 1| | 3| rohith|company 2| | 4| sridevi|company 1| | 1| sravan|company 1| | 4| sridevi|company 1| +-----------+-------------+---------+
Usando la función ordenar()
La función de clasificación se utiliza para clasificar la columna del marco de datos.
Sintaxis : dataframe.sort([‘nombre de columna’], ascendente=Verdadero).show()
Ejemplo 1: Organizar en orden ascendente Usando Sort() con una columna
Ordene los datos según el nombre del empleado en orden creciente
Python3
# sort the dataframe based on # employee name column in ascending order dataframe.sort(['Employee NAME'], ascending = True).show()
Producción:
+-----------+-------------+---------+ |Employee_ID|Employee NAME| Company| +-----------+-------------+---------+ | 1| sravan|company 1| | 1| sravan|company 1| | 2| ojaswi|company 1| | 3| rohith|company 2| | 4| sridevi|company 1| | 4| sridevi|company 1| +-----------+-------------+---------+
Ordene los datos según el nombre del empleado en orden decreciente:
Sintaxis : dataframe.sort([‘nombre de columna’], ascendente = Falso).show()
Código:
Python3
# sort the dataframe based on # employee name column in descending order dataframe.sort(['Employee NAME'], ascending = False).show()
Producción:
+-----------+-------------+---------+ |Employee_ID|Employee NAME| Company| +-----------+-------------+---------+ | 4| sridevi|company 1| | 4| sridevi|company 1| | 1| sravan|company 1| | 1| sravan|company 1| | 3| rohith|company 2| | 2| ojaswi|company 1| +-----------+-------------+---------+
Ejemplo 2: uso de Sort() con varias columnas
Vamos a ordenar el marco de datos según la identificación del empleado y el nombre del empleado en orden ascendente.
Python3
# sort the dataframe based on employee ID # and employee Name columns in ascending order dataframe.sort(['Employee_ID','Employee NAME'], ascending = True).show()
Producción:
+-----------+-------------+---------+ |Employee_ID|Employee NAME| Company| +-----------+-------------+---------+ | 1| sravan|company 1| | 1| sravan|company 1| | 2| ojaswi|company 1| | 3| rohith|company 2| | 4| sridevi|company 1| | 4| sridevi|company 1| +-----------+-------------+---------+
Vamos a ordenar el marco de datos según la identificación del empleado, la empresa y el nombre del empleado en orden descendente
Python3
# sort the dataframe based on employee ID , # company and employee Name columns in descending order dataframe.sort(['Employee_ID','Employee NAME', 'Company'], ascending = False).show()
Producción:
+-----------+-------------+---------+ |Employee_ID|Employee NAME| Company| +-----------+-------------+---------+ | 4| sridevi|company 1| | 4| sridevi|company 1| | 3| rohith|company 2| | 2| ojaswi|company 1| | 1| sravan|company 1| | 1| sravan|company 1| +-----------+-------------+---------+
Ejemplo 3: Ordenar por métodos ASC.
Método ASC de la función Columna, devuelve una expresión de clasificación basada en el orden ascendente del nombre de columna dado.
Python3
dataframe.sort(dataframe.Employee_ID.asc()).show()
Producción:
+-----------+-------------+---------+ |Employee_ID|Employee NAME| Company| +-----------+-------------+---------+ | 1| sravan|company 1| | 1| sravan|company 1| | 2| ojaswi|company 1| | 3| rohith|company 2| | 4| sridevi|company 1| | 4| sridevi|company 1| +-----------+-------------+---------+
Ejemplo 4: Ordenar por métodos DESC.
DESC de la función de columna, devuelve una expresión de clasificación basada en el orden descendente del nombre de columna dado.
Python3
dataframe.sort(dataframe.Employee_ID.desc()).show()
Producción:
+-----------+-------------+---------+ |Employee_ID|Employee NAME| Company| +-----------+-------------+---------+ | 4| sridevi|company 1| | 4| sridevi|company 1| | 3| rohith|company 2| | 2| ojaswi|company 1| | 1| sravan|company 1| | 1| sravan|company 1| +-----------+-------------+---------+
Uso de la función Ordenar por()
La función orderBy() ordena por una o más columnas. Por defecto, ordena en orden 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 se debe realizar en orden ascendente
Ejemplo 1: ascendente para una columna
Programa de Python para ordenar el marco de datos según la identificación del empleado en orden ascendente
Python3
# sort the dataframe based on employee I # columns in descending order dataframe.orderBy(['Employee_ID'], ascending=False).show()
Producción:
+-----------+-------------+---------+ |Employee_ID|Employee NAME| Company| +-----------+-------------+---------+ | 4| sridevi|company 1| | 4| sridevi|company 1| | 3| rohith|company 2| | 2| ojaswi|company 1| | 1| sravan|company 1| | 1| sravan|company 1| +-----------+-------------+---------+
Programa de Python para ordenar el marco de datos según la identificación del empleado en orden descendente
Python3
# sort the dataframe based on # Employee ID in descending order dataframe.orderBy(['Employee_ID'], ascending = False).show()
Producción:
+-----------+-------------+---------+ |Employee_ID|Employee NAME| Company| +-----------+-------------+---------+ | 4| sridevi|company 1| | 4| sridevi|company 1| | 3| rohith|company 2| | 2| ojaswi|company 1| | 1| sravan|company 1| | 1| sravan|company 1| +-----------+-------------+---------+
Ejemplo 2: Ascender varias columnas
Ordene el marco de datos en función de las columnas ID de empleado y Nombre de empleado en orden descendente utilizando orderBy.
Python3
# sort the dataframe based on employee ID # and employee Name columns in descending order dataframe.orderBy(['Employee ID','Employee NAME'], ascending = False).show()
Producción:
+-----------+-------------+---------+ |Employee_ID|Employee NAME| Company| +-----------+-------------+---------+ | 4| sridevi|company 1| | 4| sridevi|company 1| | 3| rohith|company 2| | 2| ojaswi|company 1| | 1| sravan|company 1| | 1| sravan|company 1| +-----------+-------------+---------+
Ordene el marco de datos según la identificación del empleado y las columnas de nombre del empleado en orden ascendente
Python3
# sort the dataframe based on employee ID # and employee Name columns in ascending order dataframe.orderBy(['Employee_ID','Employee NAME'], ascending =True).show()
Producción:
+-----------+-------------+---------+ |Employee_ID|Employee NAME| Company| +-----------+-------------+---------+ | 1| sravan|company 1| | 1| sravan|company 1| | 2| ojaswi|company 1| | 3| rohith|company 2| | 4| sridevi|company 1| | 4| sridevi|company 1| +-----------+-------------+---------+
Publicación traducida automáticamente
Artículo escrito por sravankumar8128 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA