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

  统计/机器学习 推荐系统 数据预处理 Python    浏览次数:266        分享
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 agg中使用自定义函数   1回答

pandas df怎么根据weekgroup补齐没有的行呢   1回答

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

pandas dataframe对行去重?   1回答

pandas报错: 'DataFrame' object has no attribute 'unique'   1回答

如何清空pandas dataframe里的全部数据但是保留列名?   3回答

pandas里index的问题   1回答

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

pandas数据列顺序不同进行concat   1回答

Python Pandas loc切片问题   2回答

怎么把pandas dataframe中一列英文文本全部转成小写?   2回答

怎么对pandas dataframe中的值进行查找替换?   2回答



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

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

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

我们谢绝答非所问。

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

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