问题标签 [ohlc]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 如何在熊猫/每列自定义填充方法中正确重新采样 ohlc 数据
我得到了缺少时间框架的 OHLC 数据。假设我有以下由变量 df 表示的 pandas 数据框:
现在,我重新采样 pandas 数据框以填补缺失的空白,我得到以下信息:
从上面我们可以看出,缺失的间隙(00:01:00)是在 ffill() 的帮助下填充的。但是,该行(以 00:01:00 开始的行)中的数据显示不正确,因为开盘价应与前一行(以 00:00:00 开始的行)的收盘价相同。同样,该行(从 00:01:00 开始的行)的收盘价应该与下一行(从 00:02:00 开始的行)的开盘价相同。所需的输出应如下所示:
我将如何在熊猫中解决这个问题?
python-3.x - 如何使用 pd.DateTime.replace(second=0)?
给定这个数据集:
...我想创建开放的高低列,重新采样到每行的开始分钟。请注意,我们不能简单地.resample()
在这种情况下使用。我希望得到的是一个如下所示的数据集:
我不想为此使用 for 循环,而是对开放、高和低列进行列计算(除非有更快的方法来执行此操作,或者.resample()
在这种情况下可以以某种方式工作)。
时间列是pd.to_datetime()
格式。
我试图为 max 列做这样的事情:
...这里的逻辑是,选择分钟顶部的当前日期时间时间(因此为 0 秒)和转到当前行的日期时间之间的行。因此,如果查看第一行,示例将介于2022-02-11 19:57:00
to之间。2022-02-11 19:57:20
但是,当我尝试这个时,我得到了错误:
...因为从技术上讲,我使用的是 pandas 的替换功能,而不是 datetime.replace 功能。所以我也尝试在.dt
之前添加.replace
并得到这个:
关于如何实现所需输出的任何建议?作为参考,这是我的可重现代码:
我明天会回来查看答案。谢谢!