python - 删除时间间隔在一小时内的相似记录
问题描述
我有一个 Excel 文件,其中包含具有各种时间戳和其他数据的调用。下面的例子:
ID Date Time Call Number Report Number Location
00 2020-12-01 15:47:00 12345 104 123 Main St
01 2020-12-01 16:13:00 13344 123 Main St #1
02 2020-12-01 15:29:00 15555 201 12 President St
03 2020-12-01 17:41:00 17342 304 12 President St
04 2020-12-02 07:04:00 19001 402 123 Main St
我假设彼此相隔一小时内并且具有相同/相似位置的呼叫是彼此重复的。我想找到这些“重复项”,只保留信息最多的记录——在这个例子中,ID 01 应该被删除。
这个问题对于查找彼此相隔一小时内的记录非常有帮助。将日期和时间列组合成“tstamp”后,下面的代码可以很好地识别彼此在一小时内的时间戳:
mask1hour = (df['tstamp'].diff().le(pd.Timedelta(hours=1)) | df['tstamp'].diff(-1).le(pd.Timedelta(hours=1)) )
我的想法是在数据框上使用 groupby 位置,但这不能处理位置之间的微小差异(错别字、额外信息)。我也不确定如何用更完整的数据保存记录。任何建议将不胜感激!
解决方案
推荐阅读
- r - 如何在序列中找到缺失的数字?
- excel - 无法使用 selenium VBA 在 chrome 中的选项卡之间切换
- mysql - 如何解决MySql“无法执行此命令”错误?
- java - 如何使文本适应标签?
- bash - bash [第二个参数:找不到命令
- python - 使用 Django 模板渲染 bs4.Tag 的文本
- python-3.x - 组合来自多个 csv 文件的箱线图的时间序列数据
- python - 没有找到没有参数的“newsdate”反向。尝试了 1 种模式:['newsdate/(?P
[0-9]+)$'] - javascript - 以编程方式将重定向添加到 React Router
- node.js - 数据未使用 Mongoose findOneAndUpdate 函数保存到 MongoDB