ComeçarComece de graça

Agrupamento e agregação I

Parte do que torna as agregações tão poderosas é a adição de grupos. O PySpark tem uma classe inteira dedicada a DataFrames agrupados: pyspark.sql.GroupedData, que você viu nos dois últimos exercícios.

Você aprendeu a criar um DataFrame agrupado chamando o método .groupBy() com um DataFrame sem argumentos.

Agora você verá que, quando passa o nome de uma ou mais colunas do DataFrame para o método .groupBy(), os métodos de agregação se comportam como quando você usa uma instrução GROUP BY em uma consulta SQL!

Lembre-se de que uma SparkSession chamada spark já está em seu espaço de trabalho, junto com o DataFrame flights do Spark.

Este exercício faz parte do curso

Introdução ao PySpark

Ver curso

Instruções do exercício

  • Crie um DataFrame chamado by_plane que seja agrupado pela coluna tailnum.
  • Use o método .count() sem argumentos para contar o número de voos que cada avião fez.
  • Crie um DataFrame chamado by_origin que seja agrupado pela coluna origin.
  • Use .avg() para encontrar a média da coluna air_time e descobrir a duração média dos voos de PDX e SEA.

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

# 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()
Editar e executar o código