我需要一些帮助,从我创建的客户数据集中过滤行。
该数据集包含客户 ID、保单编号以及与其保单相关的日期。客户可以随时在政策之间自由切换。以下数据集只是我放在一起的示例数据集。我可以使用 pandas 或 sql server 来筛选出合适的客户。
客观的:
我想在以下条件下过滤数据集并检索客户:
- 客户必须按时间顺序使用保单利率13,然后切换到11。
- 客户必须拥有至少350 天的这两项政策。
我已经包含一个列 (policy_order) 显示订单活动策略。13 => 11 切换发生的时间无关紧要,只要跳跃是从 13 到 11,并且他们每次花费 350 天。
| row | cust_id | policy_num | policy_start | policy_end | policy_order | days_on_policy |
|-----|---------|------------|--------------|------------|--------------|----------------|
| 1 | 1000 | 17 | 09/23/2013 | 11/05/2013 | 1 | 43 |
| 2 | 1200 | 13 | 08/26/2011 | 04/30/2019 | 1 | 2804 |
| 3 | 3400 | 13 | 08/31/2012 | 02/22/2015 | 1 | 905 |
| 4 | 5000 | 17 | 04/12/2014 | 07/28/2014 | 1 | 107 |
| 5 | 5000 | 13 | 07/28/2014 | 08/24/2016 | 2 | 758 |
| 6 | 5000 | 11 | 08/24/2016 | 10/20/2018 | 3 | 787 |
| 7 | 5000 | 13 | 10/20/2018 | 05/02/2019 | 4 | 194 |
| 8 | 7600 | 13 | 02/02/2015 | 05/03/2019 | 1 | 1551 |
| 9 | 4300 | 11 | 01/07/2015 | 05/04/2017 | 1 | 848 |
| 10 | 4300 | 13 | 05/04/2017 | 05/05/2019 | 2 | 731 |
| 11 | 9800 | 13 | 12/12/2001 | 10/06/2015 | 1 | 5046 |
| 12 | 9800 | 11 | 10/06/2015 | 05/06/2019 | 2 | 1308 |
如上表所示,有两个客户符合条件。客户 5000 和客户 9800。我以客户 5000 为例,因为他们已经多次切换策略,但仍然满足第 5 行和第 6 行中的条件。这是我唯一关心的行。
所以我想看到的输出看起来像这样:
| row | acct | policy_num | policy_start | policy_end | policy_order | days_on_policy |
|-----|------|------------|--------------|------------|--------------|----------------|
| 1 | 5000 | 13 | 7/28/2014 | 8/24/2016 | 2 | 758 |
| 2 | 5000 | 11 | 8/24/2016 | 10/20/2018 | 3 | 787 |
| 3 | 9800 | 13 | 12/12/2001 | 10/6/2015 | 1 | 5046 |
| 4 | 9800 | 11 | 10/6/2015 | 5/6/2019 | 2 | 1308 |
结果将显示客户 ID、正确的保单编号、相关日期以及他们在每份保单上的天数。
我尝试过使用 SQL 中的 WHERE 子句进行过滤(我承认我不擅长),但还没有接近答案——甚至不知道从哪里开始。
我的主要目标是尝试使用订单、保单编号和保单天数过滤行。
非常感谢任何和所有帮助!