python - 如何检查数据框中是否有整数并在其前面添加单词
问题描述
我的代码-
for x in df.ROAD_NAME_NUMBER:
if int(x) == x:
df.ROAD_NAME_NUMBER= 'Road '+ df.ROAD_NAME_NUMBER
我得到了错误-ValueError: invalid literal for int() with base 10: 'Avenue 5, Lane 23'
当在数据框中找到任何整数时,在其前面添加“Road”。否则忽略。
import pandas a pd
df = pd.DataFrame({'ROAD_NAME_NUMBER':['4','2','1','8','2','AVE 5,LANE 2']})
>>> print(df)
ROAD_NAME_NUMBER
0 4
1 2
2 1
3 8
4 2
5 AVE 5,LANE 2
解决方案
假设该ROAD_NAME_NUMBER
列是文本,您可以尝试str.replace
在此处使用:
df["ROAD_NAME_NUMBER"] = df["ROAD_NAME_NUMBER"].str.replace(r'^(\d+)$', r'Road \1')
推荐阅读
- java - 如何在 Java 中为我的私钥创建证书?
- jquery - 如何在函数中使用 jQuery .each
- javascript - 使用 Apollo Graphql Server 解析关系文档
- git - git push 不适用于 gitlab (mingw) - 如果 ssh 有效,有什么问题?
- java - 有没有办法让 A 类的变量只被特定接口的类修改?
- hazelcast - Hazelcast 增加了上下文切换
- c++ - 如何获取对当前 std::thread 对象的引用
- r - 绘制具有多个变量的时间序列图,这些变量表示数据框中的日期
- python-3.x - 仅当主题均值高于 X 时才使用 pandas 选择数据
- java - 尝试在单击侦听器上设置的空对象引用上调用虚拟方法