Agrupación y agregación I
Parte de lo que hace que la agregación sea tan potente es la adición de grupos. PySpark tiene toda una clase dedicada a los marcos de datos agrupados: pyspark.sql.GroupedData
que has visto en los dos últimos ejercicios.
Has aprendido a crear un DataFrame agrupado llamando al método .groupBy()
sobre un DataFrame sin argumentos.
Ahora verás que cuando pasas el nombre de una o más columnas de tu DataFrame al método .groupBy()
, ¡los métodos de agregación se comportan como cuando utilizas una instrucción GROUP BY
en una consulta SQL!
Recuerda que ya tienes en tu espacio de trabajo un SparkSession
llamado spark
, junto con el Spark DataFrame flights
.
Este ejercicio forma parte del curso
Introducción a PySpark
Instrucciones del ejercicio
- Crea un DataFrame llamado
by_plane
que esté agrupado por la columnatailnum
. - Utiliza el método
.count()
sin argumentos para contar el número de vuelos realizados por cada avión. - Crea un DataFrame llamado
by_origin
que esté agrupado por la columnaorigin
. - Busca la
.avg()
de la columnaair_time
para encontrar la duración media de los vuelos de PDX y SEA.
Ejercicio interactivo práctico
Prueba este ejercicio completando el código de muestra.
# Group by tailnum
by_plane = flights.groupBy("____")
# Number of flights each plane made
by_plane.____.show()
# Group by origin
by_origin = flights.groupBy("____")
# Average duration of flights from PDX and SEA
by_origin.avg("____").show()