对市场购物数据进行热编码数据

时间:2018-12-01 15:28:19

标签: python python-3.x pandas encode mlxtend

我有一个要确定关联规则的数据集。合并映射后的数据如下:

Transaction data snapshot

遵循以下参考文献:Market Basket Analysis in Python。我看到可以使用groupby方法使用订单ID和以下命令对数据进行分组:

basket = df_order_mapped.groupby(['order_id']).sum().unstack()

我能够按order_id对所有商品进行分组,所购买的单个产品之间没有空格。但是,从这里开始,我对如何像参考文献中那样执行一种热编码一无所知。参考使用命令:

basket = (df[df['Country'] =="France"]
          .groupby(['InvoiceNo', 'Description'])['Quantity']
          .sum().unstack().reset_index().fillna(0)
          .set_index('InvoiceNo'))

即使我试图一一理解每个单独的命令,但是我似乎无法理解。就像测试一样,我尝试同时使用groupby和order_id和product_id,但出现错误:

IndexError: index 838323453 is out of bounds for axis 0 with size 838322411

行数为3m,潜在产品总数为25000。

如果有人可以帮助我,我将不胜感激。

谢谢。

0 个答案:

没有答案