同一列中的行元素对出现的次数

时间:2018-10-25 05:43:05

标签: python python-3.x pandas

我有以下数据(约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查找所有可能的对的完整出现次数。我该如何实现?

1 个答案:

答案 0 :(得分:1)

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

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