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

Python按stage列条件分段计算对应行Vout平均值的实现方法

分块计算Stage=2对应Vout平均值的解决方法

核心思路是先给每个独立数据块打上唯一标识,再按块分组计算符合条件的平均值:

  • 第一步:生成块ID列
    假设你的数据块按Stage递增序列排列,每个新块会从低Stage值重新开始,用如下代码给每个块分配唯一ID:
    # 每次Stage小于上一行的Stage时判定为新块开始,累加生成块ID
    df['block_id'] = (df['Stage'] < df['Stage'].shift(1).fillna(0)).cumsum()
    
    如果你数据块的划分逻辑不是Stage跳变(比如按时间间隔、其他特定列标识划分),只需调整block_id的生成规则即可。
  • 第二步:分块计算Stage=2的Vout平均值
    直接输出每个块对应平均值的代码:
    block_avg = df[df['Stage'] == 2].groupby('block_id')['Vout'].mean().reset_index(name='stage2_vout_avg')
    
    如果需要把平均值回填到原数据集的对应行,可以用transform方法:
    df.loc[df['Stage'] == 2, 'block_stage2_avg'] = df[df['Stage'] == 2].groupby('block_id')['Vout'].transform('mean')
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 17:45:01