【发布时间】:2019-08-06 01:47:21
【问题描述】:
我有一个用户、书籍和评分的数据集,我想找到对特定书籍评分高的用户,而对于这些用户,我想找到他们也喜欢的其他书籍。
我的数据如下:
df.sample(5)
User-ID ISBN Book-Rating
49064 102967 0449244741 8
60600 251150 0452264464 9
376698 52853 0373710720 7
454056 224764 0590416413 7
54148 25409 0312421273 9
到目前为止我做到了:
df_p = df.pivot_table(index='ISBN', columns='User-ID', values='Book-Rating').fillna(0)
lotr = df_p.ix['0345339703'] # Lord of the Rings Part 1
like_lotr = lotr[lotr > 7].to_frame()
users = like_lotr['User-ID']
最后一行失败
KeyError: '用户 ID'
我想获得对 LOTR > 7 评分的用户,让那些用户进一步从矩阵中找到他们也喜欢的电影。
我们将不胜感激。谢谢。
【问题讨论】:
-
检查您的
df.columns。可能在User-ID部分之前或之后有一些额外的空间。列的名称应该完全正确,否则将引发KeyError -
@rafaelc 它只说 Index(['0345339703'], dtype='object') 很奇怪,因为我将它投射到框架中。
-
df.columns的确切输出是什么?粘贴到这里 -
@serafeim 输出:索引(['0345339703'], dtype='object')