针对python / pandas中的客户首次购买日期创建重复购买矩阵

时间:2020-04-19 12:52:18

标签: python python-3.x pandas sklearn-pandas

我有一个有关重复购买客户的数据集。该表提供了客户购买日期的详细信息,并且No_Trans列指示客户的第n次购买。他们都是重复购买者,日期一直持续到04/18/20。下面是表格的快照

+-----------------------------------+------------+--------+
|               Customer            | Trans_Date |No_Trans|
+-----------------------------------+------------+--------+
| C1                                | 3/15/20    |    1   |
| C1                                | 3/15/20    |    2   |
| C1                                | 3/17/20    |    3   |
| C2                                | 3/15/20    |    1   |
| C2                                | 3/17/20    |    2   |
| C3                                | 3/16/20    |    1   |
| C3                                | 3/18/20    |    2   |
| C4                                | 3/17/20    |    1   |
| C4                                | 3/18/20    |    2   |
+-----------------------------------+------------+--------+

我需要创建一个矩阵,该矩阵按首次购买日期提供购买者的数量,并按日期在python熊猫中提供购买者的重复购买次数

                                               +-------------------------------------------+ 
                                               |          Repeat Purchasers by date        |
 +------------------+--------------------------+----------+----------+----------+----------+
 |     Date         | First purchasers on date | 3/15/20  |  3/16/20 |  3/17/20 |  3/18/20 |
 +------------------+--------------------------+----------+----------+----------+----------+
 |   3/15/20        |            2             |    1     |    0     |     2    |     0    |
 |   3/16/20        |            1             |    0     |    0     |     0    |     1    |
 |   3/17/20        |            1             |    0     |    0     |     0    |     1    |
 |   3/18/20        |            0             |    0     |    0     |     0    |     0    |
 +------------------+--------------------------|----------|----------|----------|----------|
  • 20年3月15日,有2位客户C1和C2进行了首次购买,C1在15日和17日再次进行了重复购买,C2在17日进行了重复购买。因此,将3/15/20列填充为1,将3/17/20列求和为2。
  • 在3/16/20,有一个客户C3在16日进行了首次购买,并在18日进行了重复购买,因此3/18/20列被标记为1。
  • 在20/3/17,有一个客户C4在17日进行了首次购买,并在18日进行了一次重复购买,因此03/18/20列被标记为1。
  • 没有客户在20/3/18进行首次购买。

对此将有任何帮助。

0 个答案:

没有答案