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

如何用Python Pandas将列中abc-单数字替换为abc-0X格式?

原始DataFrame

序号数据列1
321abc-1
324abc-2
326abc-3
328abc-4
330abc-5
330abc-12
331xyz-1

解决方案

方法1:用df.replace()配合正则表达式

直接通过正则匹配目标格式,利用分组捕获实现两位数字的补全:

import pandas as pd

# 构造示例DataFrame
df = pd.DataFrame({
    '序号': [321, 324, 326, 328, 330, 330, 331],
    '数据列1': ['abc-1', 'abc-2', 'abc-3', 'abc-4', 'abc-5', 'abc-12', 'xyz-1']
})

# 替换仅单个数字的abc开头内容
df['数据列1'] = df['数据列1'].replace(r'^abc-(\d)$', r'abc-0\1', regex=True)
  • 正则^abc-(\d)$:精准匹配以abc-开头、后跟单个数字的完整字符串,括号捕获这个数字作为分组
  • 替换规则abc-0\1:将捕获到的单个数字补0,比如abc-1变成abc-01

方法2:用str.replace()(更直观)

针对字符串列直接调用str.replace(),逻辑和上面完全一致:

df['数据列1'] = df['数据列1'].str.replace(r'^abc-(\d)$', r'abc-0\1', regex=True)

处理后结果

序号数据列1
321abc-01
324abc-02
326abc-03
328abc-04
330abc-05
330abc-12
331xyz-1

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 12:55:26