pd.merge_asof() 基于时差不合并所有值 - Pandas

2024-04-08

我有两个数据框,一个包含新闻,另一个包含股票价格。两个数据框都有一个“日期”列。我想以 5 天的间隔合并它们。

假设我的新闻数据帧是 df1,另一个价格数据帧是 df2。

我的 df1 看起来像这样:

News_Dates             News
2018-09-29     Huge blow to ABC Corp. as they lost the 2012 tax case
2018-09-30     ABC Corp. suffers a loss
2018-10-01     ABC Corp to Sell stakes
2018-12-20     We are going to comeback strong said ABC CEO
2018-12-22     Shares are down massively for ABC Corp.

我的 df2 看起来像这样:

  Dates             Price
2018-10-04           120
2018-12-24           131

我做的第一种合并方法是:

pd.merge_asof(df1_zscore.sort_values(by=['Dates']), df_n.sort_values(by=['News_Dates']), left_on=['Dates'], right_on=['News_Dates'] \
              tolerance=pd.Timedelta('5d'), direction='backward')

得到的 df 为:

  Dates       News_Dates   News                                     Price
2018-10-04    2018-10-01  ABC Corp to Sell stakes                    120
2018-12-24    2018-12-22  Shares are down massively for ABC Corp.    131

我做的第二种合并方式是:

pd.merge_asof(df_n.sort_values(by=['Dates']), df1_zscore.sort_values(by=['Dates']), left_on=['News_Dates'], right_no=['Dates'] \
              tolerance=pd.Timedelta('5d'), direction='forward').dropna()

结果 df 为:

News_Dates            News                                                Dates      Price
2018-09-29     Huge blow to ABC Corp. as they lost the 2012 tax case    2018-10-04    120
2018-09-30     ABC Corp. suffers a loss                                 2018-10-04    120 
2018-10-01     ABC Corp to Sell stakes                                  2018-10-04    120
2018-12-22     Shares are down massively for ABC Corp.                  2018-12-24    131

两种合并结果都在单独的 dfs 中,但是两种情况下都有缺失的值,例如 10 月 4 日价格的第二种情况,来自 9 月 29 日和 9 月 30 日的新闻应该被合并。如果情况 2 是 12 月 24 日的价格,那么 12 月 20 日的价格也应该被合并。

所以我不太能弄清楚我哪里出了问题。

附:我的目标是将价格 df 与自价格日期起过去 5 天内发布的新闻 df 合并。


您可以交换左右数据框:

df = pd.merge_asof(
        df1,
        df2,
        left_on='News_Dates',
        right_on='Dates',
        tolerance=pd.Timedelta('5D'),
        direction='nearest'
    )

df = df[['Dates', 'News_Dates', 'News', 'Price']]
print(df)

        Dates News_Dates                                               News Price
0 2018-10-04 2018-09-29  Huge blow to ABC Corp. as they lost the 2012 t... 120
1 2018-10-04 2018-09-30                           ABC Corp. suffers a loss 120
2 2018-10-04 2018-10-01                            ABC Corp to Sell stakes 120
3 2018-12-24 2018-12-20       We are going to comeback strong said ABC CEO 131
4 2018-12-24 2018-12-22            Shares are down massively for ABC Corp. 131
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

pd.merge_asof() 基于时差不合并所有值 - Pandas 的相关文章

  • 如何以“正确”的方式处理带有空字节的 Python unicode 字符串?

    Question PyWin32 似乎很乐意将 null 终止的 unicode 字符串作为返回值 我想以 正确 的方式处理这些字符串 假设我得到一个像这样的字符串 u C Users Guest MyFile asy x00 x00sy
  • Kivy - 有所有颜色名称的列表吗?

    在 Kivy 中 小部件 color属性允许输入其值作为字符串颜色名称 也 例如在 kv file Label color red 是否有所有可能的颜色名称的列表 就在这里 来自Kivy 的文档 https kivy org doc sta
  • pyspark 数据框中的自定义排序

    是否有推荐的方法在 pyspark 中实现分类数据的自定义排序 我理想地寻找 pandas 分类数据类型提供的功能 因此 给定一个数据集Speed列 可能的选项是 Super Fast Fast Medium Slow 我想实现适合上下文的
  • Mac OS X 中文件系统的 Unicode 编码在 Python 中不正确?

    在 OS X 和 Python 中处理 Unicode 文件名有点困难 我试图在代码中稍后使用文件名作为正则表达式的输入 但文件名中使用的编码似乎与 sys getfilesystemencoding 告诉我的不同 采取以下代码 usr b
  • 如果未引发异常,则通过 Python 单元测试

    在Python中unittest框架 是否有一种方法可以在未引发异常的情况下通过单元测试 否则会因 AssertRaise 而失败 如果我正确理解你的问题 你could做这样的事情 def test does not raise on va
  • 在没有模型的情况下将自定义页面添加到 django admin

    我正在尝试在没有模型关联的情况下向管理员添加自定义页面 这就是我迄今为止所取得的成就 class MyCustomAdmin AdminSite def get urls self from django conf urls import
  • 结构差异 sudo() run('sudo 命令')

    我想知道函数之间有什么区别sudo 和函数run sudo u user smth 文档上有 sudo 在所有运行方式上都是相同的 除了它总是换行 调用 sudo 程序中的给定命令以提供超级用户 特权 但有几次 sudo cmd 提示我输入
  • Gspread如何复制sheet

    在 Stackoverflow 上进行谷歌搜索和搜索后 我想我找不到有关如何复制现有工作表 现有模板工作表 并将其保存到另一个工作表中的指南 根据文档 有重复表 https gspread readthedocs io en latest
  • Django send_mail SMTPSenderRefused 530 与 gmail

    一段时间以来 我一直在尝试使用 Django 从我正在开发的网站接收电子邮件 现在 我还没有部署它 并且我正在使用Django开发服务器 我不知道这是否会影响它 这是我的 settings py 配置 EMAIL BACKEND djang
  • Django 的 request.FILES 出现 UnicodeDecodeError

    我在视图调用中有以下代码 def view request body u for filename f in request FILES items body body Filename filename n f read n 在某些情况下
  • 使用Python计算目录的大小?

    在我重新发明这个特殊的轮子之前 有没有人有一个很好的例程来使用 Python 计算目录的大小 如果例程能够很好地以 Mb Gb 等格式格式化大小 那就太好了 这会遍历所有子目录 总结文件大小 import os def get size s
  • 通过索引访问Python字典的元素

    考虑一个像这样的字典 mydict Apple American 16 Mexican 10 Chinese 5 Grapes Arabian 25 Indian 20 例如 我如何访问该字典的特定元素 例如 我想在对 Apple 的第一个
  • 使用“默认”环境变量启动新的子进程

    我正在编写一个构建脚本来解析依赖的共享库 及其共享库等 这些共享库在正常情况下是不存在的PATH环境变量 为了使构建过程正常工作 让编译器找到这些库 PATH已更改为包含这些库的目录 构建过程是这样的 加载器脚本 更改 PATH gt 基于
  • Mac OSX 10.6 上的 Python mysqldb 不工作

    我正在使用 Python 2 7 并尝试让 Django 项目在 MySQL 后端运行 我已经下载了 mysqldb 并按照此处的指南进行操作 http cd34 com blog programming python mysql pyth
  • 在系统托盘中隐藏 tkinter 窗口 [重复]

    这个问题在这里已经有答案了 我正在制作一个程序来提醒我朋友的生日 这样我就不会忘记祝福他们 为此 我制作了两个 tkinter 窗口 1 First one is for entering name and birth date 2 Sec
  • Python SSL X509:KEY_VALUES_MISMATCH

    Python HTTPS server from http server import HTTPServer SimpleHTTPRequestHandler import ssl https stackoverflow com a 408
  • python 线程安全可变对象复制

    Is 蟒蛇的copy http docs python org 2 library copy html模块线程安全吗 如果不是 我应该如何在 python 中以线程安全的方式复制 deepcopy 可变对象 蟒蛇的GIL http en w
  • 将上下文管理器的动态可迭代链接到单个 with 语句

    我有一堆想要链接的上下文管理器 第一眼看上去 contextlib nested看起来是一个合适的解决方案 但是 此方法在文档中被标记为已弃用 该文档还指出最新的with声明直接允许这样做 自 2 7 版起已弃用 with 语句现在支持此
  • 使用ssl和socket的python客户端身份验证

    我有一个 python 服务器 需要客户端使用证书进行身份验证 我如何制作一个客户端脚本 使用客户端证书由 python 中的服务器使用 ssl 和套接字模块进行身份验证 有没有仅使用套接字和 ssl 而不扭曲的示例 from OpenSS
  • 如何为不同操作系统/Python 版本编译 Python C/C++ 扩展?

    我注意到一些成熟的Python库已经为大多数架构 Win32 Win amd64 MacOS 和Python版本提供了预编译版本 针对不同环境交叉编译扩展的标准方法是什么 葡萄酒 虚拟机 众包 我们使用虚拟机和Hudson http hud

随机推荐

  • 无法删除嵌入式数据库的 Derby 系统目录

    我无法删除系统目录 https db apache org derby docs 10 3 tuning rtunproper32066 html对 Windows 计算机上的 Derby Embedded 数据库调用 shutdown t
  • Arraylist 是类型安全的还是强类型的?

    我不知道 强类型 和 类型安全 之间到底有什么区别 您能用简单的语言解释一下吗 假设我们使用 Arraylist 但我无法断定它是类型安全的还是强类型的 或者我们可以同时使用它吗 An ArrayList不是类型安全的 这意味着什么Arra
  • 在 .NET CORE MVC 6 应用程序中调试未命中断点

    我正在开发 NET CORE 1 0 MVC 6 应用程序 并且我坚持使用调试点 因为它昨天停止了 经过多次尝试 我删除了项目并重新开始 第一次加载符号时 即使我在工具 gt 调试 gt 符号中取消选中 但它遇到了断点 现在 如果我选择 仅
  • R 箭头:错误:未构建对编解码器“snappy”的支持

    我一直用的是最新的R arrow包裹 arrow 2 0 0 20201106 支持直接从 AWS S3 读取和写入 这很棒 当我编写和读取自己的文件时 我似乎没有问题 见下文 write parquet iris iris parquet
  • 如何在同一个 MVC3 页面上使用多个具有 AntiForgery 验证的 ajax 表单?

    当我们有不止一种可能的表单可以发布到同一 cshtml 页面上的控制器时 防伪验证不起作用 我们检查了MVC3代码 发现问题出在这部分代码中 if String Equals cookieToken Value formToken Valu
  • Cocoa - 添加视频水印一般信息

    只是寻找如何使用 cocoa 以编程方式向视频添加水印或某种叠加层 不是一步一步地寻找 虽然那会很棒 而是或多或少地寻找我应该从哪里开始学习如何 是否有为此开发的框架 想要一些 cocoa 或 Objective c 或 c 原生的东西 因
  • Bootstrap:如何启用滚动条?

    我在我的一个项目中使用 Twitter Bootstrap 但我遇到了我的内容超出浏览器视图的问题 通常您会在屏幕右侧看到滚动条 但在我的情况下却没有 我在 bootstrap css 文件中搜索后overflow hidden 或类似的东
  • sql 不在使用查询生成器 laravel 的 GROUP BY 中

    I want to take how much amount of data based on the product id taken from the table vote on laravel this query does not
  • 透明或半透明面板控制

    有什么方法可以使面板透明或半透明吗 我还没有找到任何合适的属性来设置面板的透明度 我还尝试制作一个带有网格的 WPF 控件 网格背景和控件背景设置为透明 并将其放置在普通 Windows 窗体上 但是当我将此控件放在普通 Windows 窗
  • 无效的 HTTP 响应代码“0”

    我正在尝试使用一个使用的脚本CPAINT http cpaint sourceforge net 当我单击收藏的项目 5 星级评级系统 时 我不断收到上述错误 看起来它正在发出 AJAX 请求 但我无法从我的 Firebug 中看到这一点来
  • 如何将超过 1000 个值放入 Oracle IN 子句中 [重复]

    这个问题在这里已经有答案了 有什么办法可以绕过 Oracle 10g 静态 IN 子句中 1000 个项目的限制吗 我有一个逗号分隔的许多 ID 列表 我想在 IN 子句中使用这些 ID 有时此列表可能超过 1000 个项目 此时 Orac
  • Kendo Angular 2 网格过滤器不可用

    我正在使用带有 Angular 2 的 Kendo Gridhttp www telerik com kendo angular ui components grid data binding http www telerik com ke
  • 将 AppMutex 与静默 Inno Setup 一起使用

    我在 Inno Setup 脚本中使用 AppMutex 来确保产品在安装更新时不再运行 这基本上工作得很好 但是 当使用 verysilent 命令参数运行此设置时 会显示一个对话框 尽管非常安静 表明程序仍在运行 应该关闭 由于程序本身
  • 如何设置EditText的边框颜色

    我用过这个
  • NodeJS https 服务器使用 Express 返回 ERR_SSL_PROTOCOL_ERROR

    我试图让 SSL https 在我的 Nodejs 服务器上工作 但浏览器返回 ERR SSL PROTOCOL ERROR code var express require express var https require https
  • JSON解析字符串文字中的双引号[重复]

    这个问题在这里已经有答案了 我在解析字符串文字中的引号时遇到问题 var lit foo test 1 bar test 2 在控制台中 这会给出错误 未捕获的异常 我期待 Object foo test 1 bar test 2 这是我的
  • 通过关联属于_to

    鉴于以下关联 我需要参考Question that a Choice是通过从Choice模型 我一直在尝试使用belongs to question through answer来执行此操作 class User has many ques
  • 在 Django 中出现无效图像错误,但 PIL 已安装并通过所有测试

    所以我终于在RHEL5上成功安装了PIL 经历了很多困难 Django 开发版本 和Python 2 6安装在 opt python2 6 运行 selftest py 显示一切似乎都已正确安装 python2 6 selftest py
  • 如何在 Nodejs 中实际运行 scalajs 代码?

    我正在开发一个后端聊天服务器 它目前是用混乱的回调 javascript 编写的 所以我正在考虑将其移植到 scalajs 我一直在浏览初学者指南 但我找不到如何将项目实际编译为可以使用节点运行的单个 JavaScript 文件 例如nod
  • pd.merge_asof() 基于时差不合并所有值 - Pandas

    我有两个数据框 一个包含新闻 另一个包含股票价格 两个数据框都有一个 日期 列 我想以 5 天的间隔合并它们 假设我的新闻数据帧是 df1 另一个价格数据帧是 df2 我的 df1 看起来像这样 News Dates News 2018 0