python - 如何在python中与条件进行合并
问题描述
我有 2 个数据框 df1 和 df2。
df1 有 4000 条记录,df2 有 160 条记录。
我需要根据日期和时间(这是两者的共同列)将 df2 的第 7 列与 df1 合并。
健康)状况:
如果 df1 和 df2 中的日期和时间相同,则将发生正常合并
如果日期相同,但 df1 中的时间为 14:00,df2 的时间为 13:59,之后如果只有 14:03,则合并应在 13:59 时间发生(即 14 点之前的时间:00)。
我试过了:
从 df1 中仅提取日期、时间和第 7 列。
然后我做了一个 pd.merge(左合并)
pd.merge(df1,df2,on['Date,Time],how=left)
但它错过了许多时间不匹配的值。即使确切的时间不可用,我希望合并在所需时间之前的任何可用时间发生。
解决方案
尝试
pd.merge_asof(df1, df2, on=['Date','Time'], how='left', direction='backward')
推荐阅读
- c# - 如何在 ASP.NET Core 中发送带有 HTTP 基本授权的 HTTP POST?
- excel - Is there any ways to replace nested if in excel-vba?
- excel - 自动向多个收件人发送电子邮件
- python - 如何在flask sqlalchemy中基于多个模型过滤一个模型?
- c# - 如何使用 selenium C# 单击按钮 recaptcha
- amazon-web-services - 通过 aws-cdk 进行 VPC 对等互连
- python - 如何修复“list.remove[x]:x不在列表中
- firebase - 带有 Firebase 托管初始化脚本的 create-react-app
- c - C语言中双指针的使用
- node.js - stream.write 的回调能否可靠地验证写入是否成功?