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

Python/Pandas:如何检测DataFrame中列的取值是否固定并生成标识列

Pandas 连续重复值检测打标实现方案

以下是可直接运行的实现代码,输出结果和你给出的预期完全匹配:

import pandas as pd

# 构造示例DataFrame,你可以替换为自己的数据源
df = pd.DataFrame({
    'index_1': [0, 1, 2, 2, 2, 3, 4, 4, 5, 6]
})

# 核心逻辑
# 1. 为每一段连续相同的index_1值分配独立的分组编号
consecutive_group = (df['index_1'] != df['index_1'].shift()).cumsum()
# 2. 统计每个分组的长度,长度≥2的分组所有行标记为1,否则为0
df['change'] = consecutive_group.map(consecutive_group.value_counts()).ge(2).astype(int)

# 查看输出结果
print(df)

逻辑说明

  • 第一步通过shift()将index_1列向下偏移一行,和原列比较即可判断当前行与上一行值是否相同,累加后得到的结果就是连续相同值的分组编号
  • 第二步统计每个分组的行数,只要分组行数大于等于2,就说明该组内的值属于连续重复,统一标记为1即可

内容的提问来源于stack exchange,提问作者Horst-Jackson

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.12 21:03:04