首页 > 解决方案 > 熊猫:按不同日期过滤每个客户

问题描述

我有不同客户的交易。

Customer | Ticket |     Date    | StartDate
   A         000     08-12-2017   01-01-2018
   B         001     17-12-2017   01-01-2018
   A         002     05-01-2018   01-01-2018
   A         003     05-01-2018   01-01-2018
   B         004     17-02-2018   01-01-2018

StartDate 是每个客户开始使用该应用程序的时间。所以,在他们开始使用该应用程序之前,我有客户 frmo 的交易。每个客户都有不同的 StartDate。在每个客户开始使用该应用程序后,如何过滤交易并仅获取交易。

在此示例中,我将仅获得票 002、003 和 004,因为票 000 和 001 来自每个客户开始使用该应用程序之前的时间。

谢谢

标签: pythonpandasfilter

解决方案


您可以使用query方法:

df.query('Date > StartDate')

或布尔索引:

df[df['Date'] > df['StartDate']]

输出:

  Customer  Ticket       Date  StartDate
2        A       2 2018-05-01 2018-01-01
3        A       3 2018-05-01 2018-01-01
4        B       4 2018-02-17 2018-01-01

推荐阅读