¿Cómo nombrar columnas agregadas en PySpark DataFrame?

En este artículo, veremos cómo nombrar columnas agregadas en el marco de datos de Pyspark.

Podemos hacer esto usando un alias después de groupBy(). groupBy() se usa para unir dos columnas y se usa para agregar las columnas, el alias se usa para cambiar el nombre de la nueva columna que se forma al agrupar datos en columnas.

Sintaxis : dataframe.groupBy(“nombre_columna1”) .agg(función_agregada(“nombre_columna2”).alias(“nombre_nueva_columna”))

Dónde 

  • dataframe es el dataframe de entrada
  • La función agregada se usa para agrupar la columna como sum(),avg(),count()
  • new_column_name es el nombre de la nueva dcolumn agregada
  • alias es la palabra clave utilizada para obtener el nuevo nombre de columna

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 with 10 row values
data =[["1","sravan","IT",45000],
       ["2","ojaswi","IT",30000],
       ["3","bobby","business",45000],
       ["4","rohith","IT",45000],
       ["5","gnanesh","business",120000],
       ["6","siva nagulu","sales",23000],
       ["7","bhanu","sales",34000],
       ["8","sireesha","business",456798],
       ["9","ravi","IT",230000],
       ["10","devi","business",100000],
       ]
  
# specify column names
columns=['ID','NAME','sector','salary']
  
# creating a dataframe from the lists of data
dataframe = spark.createDataFrame(data,columns)
  
# display dataframe
dataframe.show()

Producción:

Ejemplo 1: programa Python para agrupar el salario entre diferentes sectores y nombrar como Employee_salary por agregación de suma. La función sum() está disponible en el paquete pyspark.sql.functions, por lo que debemos importarla.

Python3

# importing sum function
from pyspark.sql.functions import sum
  
# group the salary among different sectors
# and name  as Employee_salary by sum aggregation
dataframe.groupBy(
  "sector").agg(sum("salary").alias("Employee_salary")).show()

Producción:

Ejemplo 2: programa de Python para agrupar el salario entre diferentes sectores y nombrar como Average_Employee_salary por agregación promedio

Sintaxis : avg(“nombre_columna”)

Python3

# importing avg function
from pyspark.sql.functions import avg
  
# group the salary among different sectors
# and name  as Average_Employee_salary
# by average aggregation
dataframe.groupBy("sector") 
.agg(avg(
  "salary").alias("Average_Employee_salary")).show()

Producción:

Ejemplo 3: Agrupe el salario entre diferentes sectores y nombre como Total-Personas por agregación de conteo

Python3

# importing count function
from pyspark.sql.functions import count
  
# group the salary among different 
# sectors and name  as Total-People
# by count aggregation
dataframe.groupBy("sector") 
.agg(count(
  "salary").alias("Total-People")).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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *