用户--节目评分矩阵的生成

原始用户评分数据格式如下:

现在要做的是把它转为用户--评分矩阵格式

n_users = sdf['user_id'].drop_duplicates()  #获取index
n_items = sdf['item_name'].drop_duplicates() #获取columns

df_ = pd.DataFrame(index=n_users, columns=n_items) #新定义一个数据框df
for i in range(len(sdf)):
    row_i = sdf.loc[[i]]
    user_id = (row_i['user_id'].tolist())[0]
    items_name = (row_i['item_name'].tolist())[0]
    rating = (row_i['rating'].tolist())[0]
    df_.at[user_id,items_name] = rating

到这一步,评分矩阵已出来了。

df = df_.fillna(0) #将所有的NaN值用0填充

这样,就得到了用户--节目矩阵,如下:

猜你喜欢

转载自blog.csdn.net/qq_38281438/article/details/83614958