开始使用免费开始使用

MovieLens 汇总统计

让我们把 groupBy() 方法再深入一步。

当您对 dataframe 应用 .groupBy() 方法后,可以进一步运行 .sum().avg().min() 等聚合函数,并按分组返回结果。本练习将带您完成这一过程。minavg 函数已从 pyspark.sql.functions 为您导入。

本练习是课程的一部分

使用 PySpark 构建推荐引擎

查看课程

练习说明

  • 先按 movieId 分组数据,并使用 .count() 统计每部电影收到的评分数量。随后调用 .select() 方法选择以下指标:
    • 使用 min("count") 获取数据集中任意电影的最小评分数。第一个已作为示例给出。
    • 使用 avg("count") 获取每部电影的平均评分数。
  • 用同样的方法,这次按 userId 分组,分别计算评分数量的 minavg

交互式实操练习

通过完成这段示例代码来试试这个练习。

# Min num ratings for movies
print("Movie with the fewest ratings: ")
ratings.groupBy("movieId").count().select(min("count")).show()

# Avg num ratings per movie
print("Avg num ratings per movie: ")
____.groupBy("____").count().____(avg("____")).____()

# Min num ratings for user
print("User with the fewest ratings: ")
ratings.____("userId").____().select(____("____")).____()

# Avg num ratings per users
print("Avg num ratings per user: ")
____.____("____").____().____(____("____")).____()
编辑并运行代码