在以下数据帧中,如何将X替换为X:
data = {'street':['13XX First St', '2XXX First St', '47X Second Ave'],
'city':['Ashland', 'Springfield', 'Ashland']}
df = pd.DataFrame(data)
街道需要编辑,用下划线替换每个X
请注意,整数的数量会发生变化,X的数量也会发生变化。此外,诸如Xerxes之类的街道名称不应编辑为“er”,而应保留未编辑状态。只有街道号码部分应该更改
data = {'street':['13__ First St', '2___ First St', '47_ Second Ave'],
'city':['Ashland', 'Springfield', 'Ashland']}
df = pd.DataFrame(data)
一些潜在的正则表达式构建块包括:
1.[0-9]+捕捉数字
2.X+捕获X
3.([0-9]+)(X+)来捕获组
df['street']replace("[0-9]+)(X+)", value=r"\2", regex=True, inplace=False)
我对正则表达式的理解很弱,所以我的方法可能不是最好的。先发制人感谢您的指导或解决方案
IIUC,我们可以将函数传递到
repl
参数,就像re.sub
如果您只需要在数字之后匹配,我们可以添加一个
'\d{1}'
,它将只在X
的单个实例之后匹配IIUC,这可以:
输出:
假设“X”只出现在“street”列中
您想要的输出应该是结果
我测试的代码
相关问题 更多 >
编程相关推荐