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

Pandas如何计算截至当前行累计最值并新增为DataFrame列

Pandas 逐行累计最大值实现方案

你需要的从数据集起始行到当前行的累计最高值统计,直接调用Pandas Series内置的cummax()方法即可实现,无需自定义循环或固定窗口滚动计算,执行效率很高。

实现步骤

  • (可选前置操作)如果你的时间索引存在乱序,先按行索引排序保证时间顺序正确:
df = df.sort_index()
  • 对high列做累计最大值计算,结果赋值给新增的max列:
df["max"] = df["high"].cummax()

示例验证

使用你给出的测试数据执行上述代码后,得到的DataFrame结果如下:

open     high      low    close      max
date
2022-06-27 07:58:00  31502.5  31504.0  31500.0  31503.0  31504.0
2022-06-27 07:58:10  31503.0  31503.5  31501.0  31502.0  31504.0
2022-06-27 07:58:20  31502.0  31502.0  31500.5  31502.0  31504.0

扩展说明

同系列累计计算内置方法可以直接套用,满足同类统计需求:

  • 累计最小值:cummin()
  • 累计求和:cumsum()
  • 累计乘积:cumprod()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 09:27:10