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 的交易。每个客户都有不同的 StartDate。在每个客户开始使用该应用程序后,如何过滤交易并仅获取交易。
在此示例中,我将仅获得票 002、003 和 004,因为票 000 和 001 来自每个客户开始使用该应用程序之前的时间。
谢谢
解决方案
您可以使用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
推荐阅读
- caffe - 如何创建一个将未标记的“虚拟数据”作为输入的网络?
- docker - 在 Jenkins 中加速 NPM 构建
- android - 是否可以在 NativeScript 中使用 Cordova 插件?
- java - Intellij IDEA Tomcat git clone web 应用程序
- sql-server - tSQLt - AssertEqualsTable 如何工作?
- java - MongoDB服务器迁移导致查询性能变慢
- python - 读取 .csv 文件并根据特定列中的相等值连接值
- spring - Keycloak 和 Spring SAML:SigAlg 为空
- sql - ssrs 数据源 CSV 分号分隔,给出长列名
- yocto - yocto sunxi 机器名称