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

如何判断DataFrame中数值是否存在7位及以上连续重复序列

解决方案:识别包含7位及以上连续重复数字的记录

问题背景

现有如下DataFrame:

import pandas as pd
df1 = pd.DataFrame({'number': ['1111112357896', '45226212354444', '150000000064', '5485329999999', '4589622567431']})

需求:为每条记录标记是否包含7位及以上连续重复数字,符合条件标记为1,否则为0,最终目标结果如下:

数值符合标记
11111123578960
452262123544440
1500000000641
54853299999991
45896225674310

实现步骤

利用正则表达式结合pandas字符串方法可快速实现需求:

  1. 定义匹配规则:正则表达式r'(\d)\1{6,}',其中:
    • (\d):捕获任意单个数字
    • \1{6,}:表示捕获的数字连续重复至少6次(加上前面的1次,总长度≥7)
  2. 使用str.contains方法判断每条记录是否匹配规则,将布尔结果转换为整数(True→1,False→0)

完整代码

import pandas as pd

df1 = pd.DataFrame({'number': ['1111112357896', '45226212354444', '150000000064', '5485329999999', '4589622567431']})

# 定义正则模式,匹配7位及以上连续重复数字
pattern = r'(\d)\1{6,}'
# 添加符合标记列
df1['符合标记'] = df1['number'].str.contains(pattern).astype(int)

# 输出格式化后的结果
print(df1.rename(columns={'number': '数值'}))

结果验证

运行代码后输出结果与目标完全一致:

数值  符合标记
0  1111112357896      0
1  45226212354444     0
2   150000000064      1
3    5485329999999     1
4  4589622567431      0

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 00:10:19