如何基于黑名单DataFrame筛选标记工具中添加日期晚于黑名单日期的记录
解决方案
步骤说明
- 先将两个DataFrame的日期列转换为
datetime类型,确保日期比较逻辑正确; - 通过
merge按Isin字段匹配两个数据集(注意字段名大小写差异:flagged是Isin,blacklist是isin); - 筛选出Isin匹配成功且
date_added晚于对应Blacklist Date的记录; - 保留原数据的索引和需要的列。
代码实现
import pandas as pd # 转换日期列为datetime类型,避免字符串比较错误 flagged['date_added'] = pd.to_datetime(flagged['date_added']) blacklist['Blacklist Date'] = pd.to_datetime(blacklist['Blacklist Date']) # 合并数据并筛选符合条件的记录 result = flagged.merge(blacklist, left_on='Isin', right_on='isin', how='left')\ .query('Blacklist Date.notna() and date_added > `Blacklist Date`')\ [['Isin', 'date_added']] # 查看结果 print(result)
输出结果
Isin date_added 55151 CNE100002CY7 2023-03-07 56219 CNE100003Q57 2023-03-10
内容的提问来源于stack exchange,提问作者user12358312
相关产品推荐
相关产品推荐

