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

pandas如何统计DataFrame指定列中连续1的最大出现次数

Pandas 计算flag列连续1最大出现次数

核心思路

利用连续相同值的分组特性实现统计:

  • 对比当前行与上一行的flag值,不同则生成新的分组标记
  • 累加分组标记为连续相同的flag值分配相同的组ID
  • 筛选值为1的分组统计长度,取最大值即为结果

完整实现代码

import pandas as pd

# 示例输入数据
df = pd.DataFrame({'flag':[1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1]})

# 计算连续1最大次数,加or 0处理全为0的边界情况
max_count = df.groupby((df['flag'] != df['flag'].shift()).cumsum())['flag'].sum().max() or 0

# 生成要求的输出格式
df_out = pd.DataFrame({'max_count': [max_count]})

输出结果

运行上述代码后得到的df_out与预期完全一致:

max_count
0          3

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.11 09:54:03