You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用query方法合并pandas DataFrame并应用类似SQL的where过滤条件

实现方案

你可以先基于Member_ID完成两个DataFrame的等值连接,再用query方法过滤符合时间条件的记录即可,完整实现代码如下:

# 第一步:按会员ID等值合并两个表
merged_df = Member_Timepoints.merge(Enrollment_Information, on="Member_ID", how="inner")

# 第二步:用query方法应用时间过滤规则
result = merged_df.query(
    "Coverage_Effective_Date <= Discharge_Date and Coverage_Cancel_Date >= Discharge_Date + @pd.Timedelta(days=30)"
)
逻辑说明
  • 首先通过merge方法将同一Member_ID的出院记录和参保记录全部配对,等效于SQL中from Member_Timepoints a join Enrollment_Information b on a.Member_ID = b.Member_ID的逻辑
  • query方法中的表达式完全对应你需要的过滤规则:
    • Coverage_Effective_Date <= Discharge_Date 对应参保生效日期早于等于出院日期
    • Coverage_Cancel_Date >= Discharge_Date + @pd.Timedelta(days=30) 对应参保取消日期晚于等于出院日期加30天
    • 表达式中@符号用于引用query作用域之外的对象,这里用来调用pandas的Timedelta方法实现日期加30天的计算

直接打印result即可查看最终匹配后的结果。


内容的提问来源于stack exchange,提问作者user47

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 06:39:01