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

如何在Python中移除列中SUBM前缀并将object类型列转为整数?

处理带固定前缀的Object列并转为整数类型

针对你描述的场景,这里有几种简洁的实现方式,基于Pandas(Python处理表格数据的常用库):

方法1:正则替换前缀

用正则表达式匹配两种前缀格式(带空格或不带空格),直接替换为空后转整数:

import pandas as pd

# 假设你的数据框是df,目标列名为target_col
df['target_col'] = df['target_col'].str.replace(r'^SUBM\s?-', '', regex=True).astype(int)

解释:^SUBM\s?-会匹配以SUBM开头、后面可选空格再跟-的前缀,替换为空后剩下纯数字,最后用astype(int)转为整数类型。

方法2:提取数字部分

直接从字符串中提取所有连续数字,这种方式更稳妥,哪怕前缀格式有微小变化也能生效:

df['target_col'] = df['target_col'].str.extract(r'(\d+)', expand=False).astype(int)

解释:(\d+)会匹配字符串中的连续数字序列,extract方法提取出这部分内容,再转为整数。

方法3:拆分字符串取尾部

利用-作为分隔符拆分字符串,取拆分后的最后一部分,再去除可能的空格后转整数:

df['target_col'] = df['target_col'].str.split('-').str[-1].str.strip().astype(int)

解释:split('-')把字符串按-切成两段,str[-1]取后面的数字部分,strip()去掉数字前后的空格(对应SUBM - 数字里的空格),最后转整数。

这三种方法都能实现需求,你可以根据自己的习惯和数据的实际情况选择。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 02:36:18