我有以下数据(来自一些20000行的示例)

    Date        Time                Transaction Item            Year    Month   Day Weekday Hour
0   2016-10-30  2018-10-25 09:58:11 1           Bread           2016    10      30  6       9
1   2016-10-30  2018-10-25 10:05:34 2           Scandinavian    2016    10      30  6       10
2   2016-10-30  2018-10-25 10:05:34 2           Scandinavian    2016    10      30  6       10
3   2016-10-30  2018-10-25 10:07:57 3           Hot chocolate   2016    10      30  6       10
4   2016-10-30  2018-10-25 10:07:57 3           Jam             2016    10      30  6       10
5   2016-10-30  2018-10-25 10:07:57 3           Cookies         2016    10      30  6       10
6   2016-10-30  2018-10-25 10:08:41 4           Muffin          2016    10      30  6       10
7   2016-10-30  2018-10-25 10:13:03 5           Coffee          2016    10      30  6       10
8   2016-10-30  2018-10-25 10:13:03 5           Pastry          2016    10      30  6       10
9   2016-10-30  2018-10-25 10:13:03 5           Bread           2016    10      30  6       10


我正在尝试分析两个最常购买的物品。像面包和果酱或咖啡和面包。我有交易ID,因此可以基于它分析此属性。我想根据交易ID找到所有可能的对的完整出现次数。我该如何实现?

最佳答案

您可以对交易ID进行交叉联接,然后按不同对分组,从而按字母顺序对这些对进行重复数据删除。

cross = df.merge(df, on='Transaction')
cross[cross['Item_x']>cross['Item_y']].groupby(['Item_x','Item_y']).size()

关于python - 同一列中一对行元素的出现次数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52982083/

10-12 17:44