Сгруппируйте записи по месяцам. По каждому месяцу рассчитайте среднее количество заказов.
Напечатайте на экране таблицу с месяцами и средним количеством заказов по убыванию.
from pyspark.sql import SparkSession
APP_NAME = "DataFrames"
SPARK_URL = "local[*]"
spark = SparkSession.builder.appName(APP_NAME) \
.config('spark.ui.showConsoleProgress', 'false') \
.getOrCreate()
taxi = spark.read.load('/datasets/pickups_terminal_5.csv',
format='csv', header='true', inferSchema='true')
taxi = taxi.fillna(0)
taxi.registerTempTable("taxi")
print(spark.sql("""
SELECT EXTRACT(MONTH FROM date),
AVG(pickups)
FROM taxi
GROUP BY EXTRACT(MONTH FROM date)
ORDER BY AVG(pickups) DESC;
""").show())
Результат
| extract(MONTH FROM date) | avg(pickups) |
|---|---|
| 3 | 34.61413319776309 |
| 10 | 31.492839171666343 |
| 2 | 29.856671982987773 |
| 5 | 29.81593638978176 |
| 4 | 29.313725490196077 |
| 9 | 29.158446485623003 |
| 11 | 28.860367558929283 |
| 1 | 28.5473244004438 |
| 6 | 27.03835736129314 |
| 7 | 26.45983005021244 |
| 12 | 26.45916884626562 |
| 8 | 25.88592750533049 |
None Действительно, в марте такси заказывают в среднем чаще. Хотя в сравнении с другими месяцами данные различаются незначительно. На втором месте по заказам — октябрь. В непогоду такси в моде.