问题描述
我正在尝试使用pandas在python中建立一个推荐系统。
我有一个由userId组成的矩阵dataFrame和包含每个用户(名为movie_user
)的每部电影的得分的电影,如下所示:
title Salt (2010) Salton Sea,The (2002) Salvador (1986) \
userId
1 NaN NaN NaN
2 NaN 2.0 NaN
3 NaN NaN NaN
4 3.0 NaN 1.3
5 NaN NaN NaN
... ... ... ...
606 NaN NaN NaN
607 NaN NaN NaN
608 1.2 NaN 3.9
609 NaN NaN NaN
610 3.0 3.5 NaN
我想做的是使用居中余弦对评级进行归一化。 对于每一行,找到用户的平均分数(不计算NaN)。用平均分数减去每个值(不是NaN)。然后将每个NaN都替换为0。
这里有我正在尝试做的一些伪代码:
for (every user) {
averagescore = (total score of this user) / (number of movies reviewed)
for (every row of this user) {
if (value != NaN) {
value = value - averagescore
else {
value = 0;
}
}
}
}
我试图做的是遍历行并找到平均值,但是所有输出都是NaN:
for row in movie_user.itertuples():
avgscore = 0
for x in row:
avgscore = avgscore + x
print(avgscore)
我是熊猫新手,所以如果有人可以帮助,将不胜感激,谢谢!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)