2024-09-29 23:17:43 发布
网友
我正在研究goodbooks-10k dataset来制作一个推荐系统。我想用这些书的标签来做推荐。书籍的标签以一种累加的方式出现——对于每一本书和每一个标签,都有一行,上面有书的名称、标签的名称以及这个标签出现在这本书上的次数。 数据集如下所示:
我想使用这些信息来构建一个标签的单词表示包,其中对于每个标签,我都有一个列,列中列出了给定书籍中该标签出现的次数
用熊猫来实现这一点的正确方法是什么
提前谢谢
你可以使用pandas.pivot_table
数据帧示例:
df= pd.DataFrame({"book_id": [1,1,2,2,3], "tag_id": [100, 120, 130, 140, 150], "tag_count": [100, 200, 300, 400, 500]}) # df # book_id tag_id tag_count # 0 1 100 100 # 1 1 120 200 # 2 2 130 300 # 3 2 140 400 # 4 3 150 500
df.pivot_table(values="tag_count", index="book_id", columns="tag_id", aggfunc="sum", fill_value=0)
输出:
# tag_id 100 120 130 140 150 # book_id # 1 100 200 0 0 0 # 2 0 0 300 400 0 # 3 0 0 0 0 500
你可以使用pandas.pivot_table
数据帧示例:
输出:
相关问题 更多 >
编程相关推荐