我有一个像下面这样的df
userId movieId rating
0 1 31 2.0
1 2 10 4.0
2 2 17 5.0
3 2 39 5.0
4 2 47 4.0
5 3 31 3.0
6 3 10 2.0
我需要添加两个列,一个是每个电影的mean
,另一个是diff
,这是评级和平均值之间的差异
请注意movieId
可以重复,因为不同的用户可能会对同一部电影进行评分。这里第0行和第5行代表movieId
31,第1行和第6行代表movieId
10
userId movieId rating mean diff
0 1 31 2.0 2.5 -0.5
1 2 10 4.0 3 1
2 2 17 5.0 5 0
3 2 39 5.0 5 0
4 2 47 4.0 4 0
5 3 31 3.0 2.5 0.5
6 3 10 2.0 3 -1
这里是我的一些代码,计算平均值
df = df.groupby('movieId')['rating'].agg(['count','mean']).reset_index()
当用
groupby
计算平均值时,可以使用transform
保持相同的行数。计算差异很简单:相关问题 更多 >
编程相关推荐