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

基于时间索引的2分钟窗口计算功率平均值(非滚动平均)

解决方案:非滚动2分钟功率均值计算

要实现非滚动的2分钟时间窗口功率平均值(即每2分钟一个独立区间,计算区间内的均值,而非滑动窗口的滚动平均),直接用Pandas的resample方法即可,这是处理时间序列聚合的标准方式,完全匹配你的需求。

核心代码示例

假设你的DataFrame pwr 已经将时间列t设为索引,且索引为datetime类型:

# 按2分钟区间聚合,计算每个区间的功率平均值
pwr_2min_avg = pwr.resample('2T')['power'].mean().reset_index()

扩展:同时处理多字段

如果需要同时计算cadence的均值(或其他统计量,比如最大值、最小值),可以用agg方法指定每个字段的聚合规则:

# 多字段聚合:计算功率均值、踏频均值
pwr_2min_stats = pwr.resample('2T').agg(
    average_power=('power', 'mean'),
    average_cadence=('cadence', 'mean')
).reset_index()

关键细节说明

  • resample('2T'):'2T'是时间频率缩写,代表2分钟(T对应分钟,H对应小时,S对应秒)。该方法会将时间序列划分为连续且不重叠的2分钟区间,完全区别于滚动平均的滑动窗口逻辑,能大幅减少输出数据点。
  • 索引类型检查:如果你的时间索引不是datetime类型,先执行转换:
    pwr.index = pd.to_datetime(pwr.index)
    
  • 处理不完整区间:如果首尾区间不足2分钟,默认会保留并计算均值。若要丢弃这些不完整区间,可添加参数并过滤空值:
    # 丢弃不足2分钟的区间,用右侧时间作为区间标签
    pwr_2min_avg = pwr.resample('2T', closed='right', label='right')['power'].mean().dropna()
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 02:18:19