Pandas DataFrame多列重复数据标记:按自定义行数阈值设置flag字段
Pandas多列重复行标记实现方案
核心思路
将需要判断重复的全部列作为分组键,统计每个分组的行数,判断行数是否达到自定义阈值n,将布尔结果转为整数即为flag字段值。
完整实现代码
import pandas as pd # 示例数据 df = pd.DataFrame( { 'A': [1,1,1,1,2,1,2,1,3,4,4,4], 'B': [5,5,6,7,5,6,6,7,7,7,7,7], 'C': [1,1,1,1,1,1,1,1,1,1,1,1] }) # 自定义重复行数阈值,支持2-10范围内调整 n = 2 # 生成flag字段 df['flag'] = df.groupby(df.columns.tolist())[df.columns[0]].transform('count').ge(n).astype(int) # 输出结果 print(df)
代码说明
- 若仅需针对指定列判断重复,将
groupby参数改为指定列名列表即可,例如仅判断A、B两列重复:groupby(['A', 'B']) ge(n)等价于>= n,用于判断当前分组行数是否满足阈值要求- 布尔值转整数时,True对应1,False对应0,直接符合需求的flag值规则
内容的提问来源于stack exchange,提问作者Pramod_S
相关产品推荐
相关产品推荐

