【发布时间】:2021-06-04 21:40:56
【问题描述】:
我有两个从大型酒店数据库中提取的数据框:
- 客户购物历史数据框 (df_hist)
customer_id item date
1234 milk 2012-04-20
1234 sugar 2012-05-01
5678 salt 2017-07-15
5678 water 2017-08-10
- 客户访问历史数据框 (df_visit)
customer_id start end visit
1234 2012-04-06 2012-04-25 1
5678 2017-07-10 2017-07-20 5
5678 2017-08-05 2017-08-11 6
我正在尝试找出购买历史中每件商品的访问次数
- 结果(df_result):
customer_id item date visit
1234 milk 2012-04-20 1
1234 sugar 2012-05-01 null
5678 salt 2017-07-15 5
5678 water 2017-08-10 6
我尝试使用多个 for 循环,但由于 df_visit 有近 600 万行对应于大约 15,000 个唯一客户,因此它不可扩展。解决此问题的更有效方法是什么?
【问题讨论】:
-
对于
df_visit中的任何特定customer_id,start和end日期值是否有重叠的可能性? -
不,日期范围不会在单个客户中重叠
标签: python python-3.x pandas dataframe datetime