繁体   English   中英

如果找到模式,则使用正则表达式在 Pandas 列中插入字符串

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM