【发布时间】:2021-10-25 16:30:04
【问题描述】:
我正在解决一个问题,我需要将两个数据帧合并在一起并应用类似于 SQL 中的“where”子句的条件。首先,我有两个数据框:
Member_Timepoints = pd.DataFrame(list(zip([1001,1001,1002,1003],['2016-09-02','2018-01-30','2018-03-17','2019-01-10'])),columns = ['Member_ID','Discharge_Date'])
Enrollment_Information = pd.DataFrame(list(zip([1001,1001,1002,1003,1003,1003,1003], ['2015-07-01','2018-01-01','2018-03-01','2017-11-01','2018-08-01','2019-07-01','2019-09-01'], ['2018-01-01','2262-04-11','2018-08-01','2018-08-01','2019-06-01','2019-08-01','2262-04-11'])), columns = ['Member_ID','Coverage_Effective_Date','Coverage_Cancel_Date'])
Member_Timepoints['Discharge_Date'] = pd.to_datetime(Member_Timepoints['Discharge_Date'])
Enrollment_Information['Coverage_Effective_Date'] = pd.to_datetime(Enrollment_Information['Coverage_Effective_Date'])
Enrollment_Information['Coverage_Cancel_Date'] = pd.to_datetime(Enrollment_Information['Coverage_Cancel_Date'])
我需要在“Member_ID”上将这些数据框连接在一起,并希望使用以下条件作为过滤条件:
Coverage_Effective_Date = Discharge_Date + 30
我推荐Join pandas dataframes based on different conditions 开始,但是,我仍然在努力将数据帧与上述条件合并在一起。
谁能帮我在 Pandas 中使用查询来实现这一点?
【问题讨论】: