numpy PANAS-为协作过滤创建稀疏矩阵

njthzxwz  于 2022-11-10  发布在  其他
关注(0)|答案(1)|浏览(111)

我有一个Pandas数据框,是这样的:
User_id|Music_id|收视率
-|-|
A|a|5
B|a|3
我想根据它创建一个稀疏矩阵,将Music_id作为列,将user_id作为行,如下所示:
->
|a|b
-|-|
A|5|
B|3|
通过使用Pandas或麻木来完成这项任务,会有什么方法来实现它?

ttp71kqs

ttp71kqs1#

如果我们假设您具有问题中描述的以下数据集:

d = {'user_id':['A','B'],'music_id':['a','a'],'rating':[5,3]}
df = pd.DataFrame(d)

然后,您可以执行以下操作:

df.set_index(['user_id','music_id']).unstack(level=-1).rating

或者,等同地:

pd.pivot_table(df,values='rating',index='user_id',columns=['music_id'])

相关问题