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

Pandas正则表达式:提取空格与冒号之间的子字符串

提取Pandas DataFrame中门店编号的实现方法

假设你的DataFrame结构如下:

import pandas as pd

data = {
    'store': [
        'H-E-B 721:1101 W STAN SCHLUETER LOOP,KILLEEN,TX',
        'H-E-B PLUS 39:2509 N MAIN ST,BELTON,TX'
    ]
}
df = pd.DataFrame(data)

方法一:按照你的思路实现(无需正则)

完全匹配你“找冒号位置→反向切片到最近空格”的逻辑,通过字符串分割分步处理:

# 先按冒号分割,取冒号前的部分;再从后往前分割1次空格,取最后一段就是编号
df['store_num'] = df['store'].str.split(':').str[0].str.rsplit(' ', 1).str[1]

方法二:正则表达式实现(更简洁)

直接匹配冒号前的连续数字序列,一步到位:

# 用正则捕获冒号前的数字,extract会返回捕获到的内容
df['store_num'] = df['store'].str.extract(r'(\d+):')

如果需要将提取的编号转为整数类型,只需追加.astype(int):

df['store_num'] = df['store'].str.extract(r'(\d+):').astype(int)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 02:21:02