Pandas:按不同的d筛选每个客户端

2024-06-07 13:21:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我有不同客户的交易

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的交易记录。每个客户都有不同的起始日期。如何过滤交易,并在每个客户开始使用应用程序后仅获取交易

在本例中,我将只获得票证002、003和004,因为在每个客户开始使用应用程序之前,票证000和001来自电子商务

谢谢


Tags: 应用程序date客户记录时间交易customerticket
2条回答
  1. 确保数据和起始日期存储为日期:

    df.info()
    

如果没有,日期:

df.Date = pd.to_datetime(df.Date, format="%d-%m-%Y")
df.StartDate = pd.to_datetime(df.StartDate, format="%d-%m-%Y")

2:比较列:

df2 = df[df.StartDate < df.Date]

那应该可以

您可以使用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

相关问题 更多 >

    热门问题