pandas如何处理用户和商品的交互数据

  统计/机器学习 推荐系统 数据预处理 Python    浏览次数:717        分享
0

推荐系统中,预测下一个用户可能购买的商品,则要加入用户历史交互过的商品交互信息,该怎么把数据转换过去呢?

下面有一个例子:

原始数据:

user_id item_id
1 1
1 2
1 3

转换后的数据:


user_id item_id item_1 item_2 item_3 label
1 1 0 0 0 2
1 2 1 0 0 3
1 3 1 1 0 4

item_1, item_2, item_3代表之前用户交互过的商品

希望有大神能帮忙看看

 

cabbage   2020-04-08 23:25



   2个回答 
2

感觉pandas的crosstab可以满足你的要求

pandas.crosstab

SofaSofa数据科学社区DS面试题库 DS面经

何立诚   2020-04-09 09:14

好像可以,感谢! - cabbage   2020-04-09 10:52
1

Pandas中除了crosstab, pivot_table也可以实现。

 #crosstab
df = pd.DataFrame([[1, 1], [1, 2], [1, 3],[2,1],[2,2],[2,2]],
     columns=['user_id', 'item_id'])
pd.crosstab([df.user_id, df.item_id], df.item_id)
#pivot_table
pd.pivot_table(df,index = ['user_id', 'item_id'], 
               columns='item_id', values='item_id',
               aggfunc=len, fill_value=0)



SofaSofa数据科学社区DS面试题库 DS面经

QuinnWei   2020-04-12 05:25



  相关主题

pandas groupby返回组内排序   2回答

pandas groupby agg中使用自定义函数   1回答

pandas返回组内某列值最大的行?   1回答

怎么对pandas dataframe的列求众数   2回答

对pandas.DataFrame进行groupby结果中index的问题   2回答

pandas怎么读入tsv格式的数据   2回答

pd.read_csv读取数据时自动跳过空白行   1回答

怎么删除pandas数据框指定的第k行?   2回答

怎么把一个pandas数据框用append的方式添加到现有的csv文件?   2回答

去掉pandas DataFrame的index的名字   2回答

pandas中某列中数字后边有 亿/万这种单位 如何处理   1回答

怎么删除pandas dataframe中index重复的行?   2回答



回答问题时需要注意什么?

我们谢绝在回答前讲“生动”的故事。

我们谢绝“这么简单,你自己想”、“书上有的,你认真看”这类的回答;如果你认为对方的提问方式或者内容不妥,你可以直接忽略该问题,不用进行任何作答,甚至可以对该问题投反对票。

我们谢绝答非所问。

我们谢绝自己不会、硬要回答。

我们感激每一个用户在编写答案时的努力与付出!