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

如何计算DataFrame中各非固定长度stroke段的penetration平均值

Pandas 分段计算stroke有效penetration平均值方案

核心逻辑

  • 连续非0的penetration值为同一stroke的有效数据,每段有效数据后跟随的0值不需要纳入平均值计算
  • 通过给每段连续非0值打上唯一的分组标签,即可批量完成所有分段的平均值计算,全程用向量化运算效率远高于逐行遍历

实现代码

import pandas as pd

# 此处替换为你自己的DataFrame,默认penetration值存储在`penetration`列
df = pd.read_csv("你的数据文件路径.csv")

# 生成stroke分组ID:遇到新的非0段起始位置时,分组ID累加1
df['stroke_group'] = (df['penetration'].ne(0) & df['penetration'].shift(fill_value=0).eq(0)).cumsum()

# 过滤所有0值后,按分组计算平均值
stroke_penetration_avg = df[df['penetration'] > 0].groupby('stroke_group')['penetration'].mean().reset_index()

输出说明

最终得到的stroke_penetration_avg包含两列:

  • stroke_group:stroke的顺序编号,从1开始递增
  • penetration:对应stroke段的有效penetration平均值

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 11:54:03