[英]Insert string in pandas column using regex if pattern is found
我在数据框中有一个字符串列,我想在我的模式中插入一个 # 。
例如:我的模式是字母“pr”后跟任意数量的数字。 如果在我的专栏中有一个值“pr123 中的问题”,我会将其更改为“#pr123 中的问题”。
我正在尝试一堆代码片段,但没有任何效果对我有用。
试图更改解决方案以替换“pr#123”,但这也不起作用。
df['desc_clean'] = df['desc_clean'].str.replace(r'([p][r])(\d+)', r'\1#\2', regex=True)
当我找到此模式时,我可以替换此列中所有值的最佳方法是什么?
如果你需要pr#123
你可以使用
df['desc_clean'] = df['desc_clean'].str.replace(r'(pr)(\d+)', r'\1#\2')
要获得#pr123
,您可以使用
df['desc_clean'].str.replace(r'pr\d+', r'#\g<0>')
要将pr
匹配为整个单词,您可以在pr
前面添加一个单词边界\\b
:
df['desc_clean'].str.replace(r'\bpr\d+', r'#\g<0>')
请参阅正则表达式演示。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.