簡體   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