Python 我有两个数据帧df1和df2,我需要使用df2中的键过滤掉df1,使用df2中的开始和结束日期,我需要得到类似df3的结果
我想使用来自df2的键和额外的开始和结束日期过滤器过滤数据,然后需要使用这个标准过滤df1以获得df3(示例输出) 我需要一个输出如下df3-使用某种iter行或lambda,对不起,我找不到任何地方的答案。Python 我有两个数据帧df1和df2,我需要使用df2中的键过滤掉df1,使用df2中的开始和结束日期,我需要得到类似df3的结果,python,pandas,Python,Pandas,我想使用来自df2的键和额外的开始和结束日期过滤器过滤数据,然后需要使用这个标准过滤df1以获得df3(示例输出) 我需要一个输出如下df3-使用某种iter行或lambda,对不起,我找不到任何地方的答案。 您需要首先合并df1和df2,然后过滤date不在strdate和enddate之间的行 df3 = df1.merge(df2) df3 = (df3[df3['date'].between(df3.strdate, df3.enddate)] .drop(column
您需要首先合并
df1
和df2
,然后过滤date
不在strdate
和enddate
之间的行
df3 = df1.merge(df2)
df3 = (df3[df3['date'].between(df3.strdate, df3.enddate)]
.drop(columns = ['strdate', 'enddate']))
输出:
>>> df3
KEY date sales
0 1747604 2019-02-11 342
1 1747604 2019-06-14 234
3 2113901 2019-03-24 67
4 2113901 2019-04-28 564
键不在df2
中的所有行
df3=df1.merge(df2,左键,右键)
日期
不在标准日期
和结束日期
之间的所有行df3=df3[(df3.date>=df3.strdate)&(df3.date)太棒了!你真是太棒了,它帮了你的忙。
df3 = df1.merge(df2)
df3 = (df3[df3['date'].between(df3.strdate, df3.enddate)]
.drop(columns = ['strdate', 'enddate']))
>>> df3
KEY date sales
0 1747604 2019-02-11 342
1 1747604 2019-06-14 234
3 2113901 2019-03-24 67
4 2113901 2019-04-28 564