我有一个加载到Python中的“杂货店事务”csv文件,该文件目前如下所示:
txns = pd.read_csv('transactions.csv')
txns.head(10)杂货交易

*我的目标是将所有按交易号购买的产品分组,即交易栏将作为索引列。***
*我希望每一行代表唯一的事务#,以及它们为该事务购买的所有相关产品。***
但是,目前涉及多个产品的事务跨越多个行。这使我无法进行杂货店的市场篮子分析。
如果有人对我如何实现这一改变有任何建议或反馈,请评论下面!
发布于 2022-09-21 07:25:07
正如@Nick所说,您可以使用groupby .sum进行唯一的索引事务处理。
new_txns = txns.groupby('Transaction').sum()然后将其更改为篮子分析的热编码。
def onehot_encode(x):
if x <= 0:
return 0
if x >= 1:
return 1
new_txns = new_txns.applymap(onehot_encode)注意:如果你想要一个热如真假。
new_txns = new_txns.astype('bool')https://stackoverflow.com/questions/73724974
复制相似问题