首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Pandas -count顾客在购买前访问商店的次数。(仅包括购买日期前30天的访问)

Pandas -count顾客在购买前访问商店的次数。(仅包括购买日期前30天的访问)
EN

Stack Overflow用户
提问于 2020-06-12 04:41:05
回答 1查看 241关注 0票数 0

我有两个不同大小的数据帧(~100k条记录)。Df1包含customer-ID和购买日期。Df2包含客户ID和访问日期。

在购买之前,我想通过计算顾客访问商店的次数(使用df2中的“a Date”)在df1中创建一个新列。条件是访问日期必须小于购买日期前30天。

以下是示例数据

df1:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
df1 = pd.DataFrame({'Cust ID': [1,2,2,2,3,3], 'Transaction ID':[1001,1002,1003,1004,1005,1006], 'Purchase Date':["1/20/2017", "1/20/2018", "1/20/2017", "1/5/2017","1/20/2017","1/20/2017"]})`

Cust ID Transaction ID  Purchase Date
0   1   1001    1/20/2017
1   2   1002    1/20/2018
2   2   1003    1/20/2017
3   2   1004    1/5/2017
4   3   1005    1/20/2017
5   3   1006    1/20/2017

df2:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
df2 = pd.DataFrame({'Cust ID': [1,1,1,1,1,2,2,2],  'Visit Date':["1/2/2017", "1/3/2017", "1/4/2017", "12/5/2017", "1/23/2017", "1/2/2017","1/3/2017","1/24/2017"]})

    Cust ID Store-ID    Visit Date
0   1   A1  1/2/2017
1   1   A1  1/3/2017
2   1   A1  1/4/2017
3   1   A1  12/5/2017
4   1   A1  1/23/2017
5   2   A1  1/2/2017
6   2   A1  1/3/2017
7   2   A1  1/24/2017

预期输出:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Cust ID Transaction ID  Purchase Date   Count of (Past 1-month visit)
0   1   1001    1/20/2017   3
1   2   1002    1/20/2017   2
2   2   1003    1/20/2018   0
3   2   1004    1/5/2017    2
4   3   1005    1/20/2017   0
5   3   1006    1/20/2017   0

我是python和pandas.Your的新手,非常感谢您的帮助。

关于Karthik。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-06-12 07:34:21

购买日期从访问日期开始计算,访问前30天的条件提取与原始'df1‘合并。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
df1['Purchase Date'] = pd.to_datetime(df1['Purchase Date'], format='%m/%d/%Y')
df2['Visit Date'] = pd.to_datetime(df2['Visit Date'], format='%m/%d/%Y')
df3 = df2.merge(df1, on='Cust ID')
df3['Past_1M'] = df3['Purchase Date'] - df3['Visit Date']
import datetime
df3 = df3[(df3['Past_1M'] <= datetime.timedelta(30)) & (df3['Past_1M'] >= datetime.timedelta(0))]
df3 = df3.groupby(['Cust ID', 'Transaction ID']).agg('count').reset_index()
df3 = df1.merge(df3, on=['Cust ID', 'Transaction ID'], how='outer').fillna(0)
df3 = df3.iloc[:,[0,1,2,5]]

df3
    Cust ID Transaction ID  Purchase Date_x Past_1M
0   1   1001    2017-01-20  3.0
1   2   1002    2018-01-20  0.0
2   2   1003    2017-01-20  2.0
3   2   1004    2017-01-05  2.0
4   3   1005    2017-01-20  0.0
5   3   1006    2017-01-20  0.0
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62337618

复制
相关文章
LeetCode MySQL 1398. 购买了产品A和产品B却没有购买产品C的顾客
请你设计 SQL 查询来报告购买了产品 A 和产品 B 却没有购买产品 C 的顾客的 ID 和姓名( customer_id 和 customer_name ),我们将基于此结果为他们推荐产品 C 。
Michael阿明
2021/02/19
8410
窗口函数到底有多「神奇」?
实习和秋招笔面试的时候,SQL的考察必不可少,除了题目中会涉及业务背景外,大同小异的,大都考察聚合、表连接、窗口函数,尤以各种各样的窗口函数为重。
数据森麟
2021/01/25
7820
窗口函数到底有多「神奇」?
浅析java构造函数前的访问限定符问题
  曾经一直有个问题困扰着我,我一直以为构造函数前面不能加任何东西,但偶然间看到了一本书上写的代码中,构造函数前加了public限定符,心里很是疑惑,构造函数前加毛访问限定符啊??!  在网上查了很多资料,论坛上发帖,依旧没有解决这个问题。今天亲自测试了下,得出了答案。   首先,在两个源文件中建立两个类,HolidaySked和text;代码如下: 文件 HolidaySked.java源码: import java.util.*; public class HolidaySked{ Bit
10JQKA
2018/05/09
7850
【SeeMusic】购买付费版本 ( 进入购买页面 | 购买流程 )
【SeeMusic】下载安装并注册 SeeMusic 软件 【SeeMusic】购买付费版本 ( 进入购买页面 | 购买流程 )
韩曙亮
2023/03/29
10K0
【SeeMusic】购买付费版本 ( 进入购买页面 | 购买流程 )
域名怎么购买?域名购买的方式有哪些?
互联网时代人们都有在网络上浏览网页的习惯,但其实每一个网页都对应着一个计算机域名,在访问时人们输入的网址,会经过域名解析器的处理转化为IP,来实现人们浏览网站的目的。那么域名怎么购买?域名购买的方式有哪些呢?
用户8739990
2021/07/30
38.4K0
域名怎么购买?域名购买的方式有哪些?
在Godaddy购买VPS心得
由于无法继续忍受和千军万马共挤虚拟主机。近日,我为阳光部落(http://www.sunbloger.com/)从Godaddy(http://www.godaddy.com/)上购买了VPS主机,下面是我在购买和使用中的一些感受和心得。
魏杰
2022/12/23
12.5K0
在Godaddy购买VPS心得
客户首次购买后 X 日内购买的销量
在微软发布了一些新特性后,我们开始着力继续研究如何快速构建分析仪表板,这就包括主题,颜色,导航等。如下:
BI佐罗
2022/04/02
6.6K0
客户首次购买后 X 日内购买的销量
离职后,你会访问前公司账户吗?
近日,Beyond Identity 在一项调查中,围绕美国、英国和爱尔兰的离职员工是否会访问前公司进行了深入研究。结果显示, 83% 的离职员工承认会访问前公司账户,这种现象可能给企业带了网络安全威胁。
FB客服
2022/04/11
4150
离职后,你会访问前公司账户吗?
「SQL面试题库」 No_104 购买了产品A和产品B却没有购买产品C的顾客
题目介绍: 购买了产品A和产品B却没有购买产品C的顾客 customers-who-bought-products-a-and-b-but-not-c
不吃西红柿
2023/10/16
1610
怎么购买域名,在购买时需要注意什么问题
网络的发达让我们的生活更便捷,但这便捷生活背后是全新的互联网思维和逻辑,想要体验快捷方便的互联网服务,域名是必不可少的一个关键环节。怎么购买域名?互联网时代,相信大家对这个话题大多一知半解,那么我们在购买域名的时候需要注意哪些问题呢?
用户8739990
2021/07/30
9.2K0
怎么购买域名,在购买时需要注意什么问题
Python对商店数据进行lstm和xgboost销售量时间序列建模预测分析|附代码数据
在本文中,在数据科学学习之旅中,我经常处理日常工作中的时间序列数据集,并据此做出预测
拓端
2023/03/23
8430
《谷歌访问助手》访问Chrome商店 Gmail 谷歌搜索
每当我向小伙伴分享超棒的Chrome插件(扩展程序)的时候, 总会有小伙伴问,从哪里下载Chrome浏览器以及Chrome扩展程序, 这篇文章就为这个问题做一个通用的回答
zhaoolee
2019/06/11
6.9K0
《谷歌访问助手》访问Chrome商店 Gmail 谷歌搜索
python 获取n天前的日期和日期列表
import datetime def get_nday_list(n): import datetime before_n_days = [] for i in range(1, n + 1)[::-1]: before_n_days.append(str(datetime.date.today() - datetime.timedelta(days=i))) return before_n_days
用户5760343
2022/05/13
3.2K0
分ip统计网站的访问次数
Map什么时候创建(使用ServletContextListener,在服务器启动时完成创建,并只在到ServletContext中),Map保存到哪里!(Map保存到ServletContext中!!!)
星哥玩云
2022/09/14
2.1K0
分ip统计网站的访问次数
「Python」用户消费行为分析
请注意,本文编写于 297 天前,最后修改于 296 天前,其中某些信息可能已经过时。
曼亚灿
2023/05/17
1K0
「Python」用户消费行为分析
Python对商店数据进行lstm和xgboost销售量时间序列建模预测分析|附代码数据
最近我们被客户要求撰写关于销售量时间序列建模预测的研究报告,包括一些图形和统计输出。
拓端
2023/01/09
7500
Python对商店数据进行lstm和xgboost销售量时间序列建模预测分析|附代码数据
在本文中,在数据科学学习之旅中,我经常处理日常工作中的时间序列数据集,并据此做出预测
拓端
2023/04/04
5930
Python对商店数据进行lstm和xgboost销售量时间序列建模预测分析
在训练集中,我们有1017209个观察值和9列/变量。 在测试集中,我们有41088个观测值和8列/变量。 在商店集中,我们有1115个观察值和10列/变量。
拓端
2020/11/19
2.1K0
Python对商店数据进行lstm和xgboost销售量时间序列建模预测分析
购买的域名怎么备案?购买的域名为什么要备案?
当今社会网络普及率特别高,不管是什么年龄段的人几乎都会上网。而众所周知,想要上网就需要域名。域名是可以让你快速访问网页的地址,很多人都拥有属于自己的域名,但是很多人都会忽视一点,那就是域名备案。域名备案是非常重要的,下面就让我和大家说说购买的域名怎么备案以及备案的原因吧。
用户8739990
2021/08/06
52.5K0
购买的域名怎么备案?购买的域名为什么要备案?
点击加载更多

相似问题

统计用户购买前的访问次数。(每次购买后应重置计数)在Presto中

21

每次购买前30天按信源清点访问次数

23

在购买前查找上次登录日期

10

如何存储“顾客购买这也购买了”

40

getorgchart的购买前问题

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文