Это должно помочь вам получить желаемый результат -
df = spark.createDataFrame(
[('event1',1,1023),
('event2',1,1009),
('event3',1,1002),
('event1',2,1012),
('event2',2,1023),
('event3',2,1017),
('event1',3,1033),
('event2',3,1011),
('event3',3,1004)
],["event", "month", "count"])
Пример 1:
df.groupBy("event").\
avg("count").alias("avg_per_month").\
show()
Пример 2:
df.groupBy("event").\
agg({'count' : 'avg'}).alias("avg_per_month").\
show()