我有一个Pandas数据框,是这样的:User_id|Music_id|收视率-|-|A|a|5B|a|3我想根据它创建一个稀疏矩阵,将Music_id作为列,将user_id作为行,如下所示:->|a|b-|-|A|5|B|3|通过使用Pandas或麻木来完成这项任务,会有什么方法来实现它?
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'])
1条答案
按热度按时间ttp71kqs1#
如果我们假设您具有问题中描述的以下数据集:
然后,您可以执行以下操作:
或者,等同地: