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