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_planeque 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_originque esté agrupado por la columnaorigin. - Busca la
.avg()de la columnaair_timepara encontrar la duración media de los vuelos de PDX y SEA.
Ejercicio interactivo práctico
Prueba este ejercicio y completa 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()