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

如何将Pandas DataFrame列值替换为对应字符串末尾的整数

Pandas提取字符串字段末尾数字的实现方案

方案1:固定分隔符场景(适配当前示例数据)

示例中ID列统一为前缀_目标数字的下划线分隔格式,直接用字符串分割取最后一段即可,逻辑简单执行效率高,且不会丢失前导零:

import pandas as pd

# 初始化示例DataFrame
df = pd.DataFrame({
    'Name': ['Peter', 'John'],
    'ID': ['School_09', 'School_23']
})

# 按下划线分割字符串,取索引为-1的最后一段作为新的ID值
df['ID'] = df['ID'].str.split('_').str[-1]

处理后输出结果和预期完全一致:

NameID
Peter09
John23

方案2:通用场景(适配ID列格式不统一的情况)

如果ID列前缀格式不固定,没有统一分隔符,仅需要提取所有行字符串末尾的连续数字,可以用正则匹配提取,兼容性更强:

# 正则(\d+)$表示匹配字符串结尾位置的1个及以上连续数字
df['ID'] = df['ID'].str.extract(r'(\d+)$')

注意:如果业务不需要保留前导零,可以在提取后加.astype(int)把ID列转为整数类型;如果需要保留09这类带前导零的格式,不要做类型转换,保持字符串类型即可。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 03:03:24