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

如何检测pandas DataFrame中的整数并添加Road前缀,解决ValueError报错

问题原因

  1. 原代码直接对整段字段值执行int转换,只要值包含非数字字符就会触发类型转换报错
  2. 循环内直接对整个ROAD_NAME_NUMBER列赋值,会批量修改所有行内容,无法实现逐行判断的需求

实现方案

方案1:仅纯整数字符串加前缀

如果你的需求是仅当字段内容全为整数时才加Road前缀,非纯数字内容保持不变,可通过字符串isdigit()方法判断:

import pandas as pd
df = pd.DataFrame({'ROAD_NAME_NUMBER':['4','2','1','8','2','AVE 5,LANE 2']})

df['ROAD_NAME_NUMBER'] = df['ROAD_NAME_NUMBER'].apply(
    lambda x: f'Road {x}' if x.isdigit() else x
)

运行后输出结果:

ROAD_NAME_NUMBER
0           Road 4
1           Road 2
2           Road 1
3           Road 8
4           Road 2
5      AVE 5,LANE 2

方案2:所有出现的整数都加前缀

如果需要把字段中所有出现的整数都加上Road前缀,可通过正则替换实现:

import pandas as pd
import re

df['ROAD_NAME_NUMBER'] = df['ROAD_NAME_NUMBER'].apply(
    lambda x: re.sub(r'(\d+)', r'Road \1', x)
)

运行后输出结果:

ROAD_NAME_NUMBER
0               Road 4
1               Road 2
2               Road 1
3               Road 8
4               Road 2
5  AVE Road 5,LANE Road 2

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 05:24:04