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

Python 3 DataFrame字符串处理:提取8-12位数字作为替代编码

提取描述中的替代商品编码方案

直接用正则表达式匹配8-12位的数字串,结合Pandas的字符串方法即可完成提取:

完整代码实现

import pandas as pd

df1 = pd.DataFrame({'Item_Code': ['00001234', '00012345', '00123456', '01234567'],
                    'Desc': ['Widget1 - Obsolete Use Alternative 56789100', 
                             'Obsolete Widget 2 - Use Alternative 56789100 - Blah Blah Blah', 
                             'Alternative Use 9999999910 - Blah Blah Blah', 
                             'Obsolete use 99999999911']},
                   index=[0, 1, 3, 4])

# 从Desc列提取8-12位的数字作为替代编码
df1['Alternative_Item_Code'] = df1['Desc'].str.extract(r'(\b\d{8,12}\b)')

# 查看结果
print(df1)

代码说明

  • 正则表达式\b\d{8,12}\b:
    • \b是单词边界,确保匹配的是独立的数字串,避免误匹配类似Widget1里的单个数字
    • \d{8,12}精准匹配8到12位的数字,符合商品编码的长度要求
  • str.extract()方法会提取每个Desc字符串中第一个符合条件的数字串,存入新列Alternative_Item_Code

运行结果

Item_Code                                                Desc Alternative_Item_Code
0  00001234        Widget1 - Obsolete Use Alternative 56789100              56789100
1  00012345  Obsolete Widget 2 - Use Alternative 56789100 - ...              56789100
3  00123456          Alternative Use 9999999910 - Blah Blah Blah             9999999910
4  01234567                          Obsolete use 99999999911            99999999911

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 01:53:22