如何对聚合数据使用CountVectorizer?

2024-09-29 23:17:43 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在研究goodbooks-10k dataset来制作一个推荐系统。我想用这些书的标签来做推荐。书籍的标签以一种累加的方式出现——对于每一本书和每一个标签,都有一行,上面有书的名称、标签的名称以及这个标签出现在这本书上的次数。 数据集如下所示:

enter image description here

我想使用这些信息来构建一个标签的单词表示包,其中对于每个标签,我都有一个列,列中列出了给定书籍中该标签出现的次数

用熊猫来实现这一点的正确方法是什么

提前谢谢


Tags: 数据方法名称信息系统方式标签单词
1条回答
网友
1楼 · 发布于 2024-09-29 23:17:43

你可以使用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

相关问题 更多 >

    热门问题