You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python中基于条件实现累加和的向量化重置?

向量化实现满足条件时重置累加和(用于生成OHLC蜡烛图)

我需要不使用循环的向量化方式,在满足指定条件时重置累加和。

简单示例代码

import pandas as pd
import numpy as np
np.random.seed(0)
v = pd.DataFrame()
v['a'] = np.random.randint(10, size=(1000))

重置条件

重置条件为:当前值大于等于起始值+5 或 当前值小于等于起始值-5,即:

((current_value >= opening_value + 5) | (current_value <= opening_value - 5))

初步思路

我将需求拆解为两步:

  • 第一步:累加与前值的差值(v['b'] = v['a'].diff().cumsum())
  • 第二步:满足条件时重置累加,但暂未明确具体实现方式

实际场景

该需求用于基于指定tick波动生成OHLC蜡烛图,实际需处理包含147,046,963行的EURUSD tick数据,我采用dask.dataframe分块加载数据,但现有循环代码效率极低且可能存在错误,急需向量化优化。

后续进展

我参考Stack Overflow的方案修改实现了重置逻辑,应用到EURUSD数据后效率大幅提升,但仍需完善开盘/收盘索引及高低值提取步骤。

内容的提问来源于stack exchange,提问作者Arthur Stackoverflow

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 09:33:12