首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在日期时间增量天条件下匹配Pandas数据帧

在日期时间增量天条件下匹配Pandas数据帧
EN

Stack Overflow用户
提问于 2021-02-25 17:25:24
回答 1查看 21关注 0票数 0

我有以下两个数据帧:

打印(Df)

代码语言:javascript
复制
perid     completion_date  store_banner
0       15001703     2020-09-16           0
1       1000190      2020-07-21           2
...

打印(Df1)

代码语言:javascript
复制
perid      status    substatus  sample_date
0      15001703       4            3    2020-09-20
1      15024030       5            2    2020-11-05

...

我想合并这两个框架,以便将df1中的列添加到df (左合并),如果

perid代码匹配和天数差异示例_日期和完成_日期

小于或等于14天。

在伪代码中:(df.perid == df1.perid) & (df1.sample_date - df.completion_日期) <= 14天)

因此,获取(在上面的示例中):打印(最终_df)

代码语言:javascript
复制
perid     completion_date  store_banner      status    substatus  sample_date
0       15001703     2020-09-16           0              4           3      2020-09-20

我怎样才能做到这一点呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-02-25 17:29:10

使用DataFrame.merge通过以下方式将筛选减去的列转换为天数`Series.dt.days`

代码语言:javascript
复制
df1['completion_date'] = pd.to_datetime(df1['completion_date'])
df2['sample_date'] = pd.to_datetime(df2['sample_date'])

df = df1.merge(df2, on='perid')
df = df[(df.sample_date - df.completion_date).dt.days <= 14]

print (df)
      perid completion_date  store_banner  status  substatus sample_date
0  15001703      2020-09-16             0       4          3  2020-09-20
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66365729

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档