簡體   English   中英

如何通過 python 刪除 dataframe 列中兩個特定單詞之間的文本

[英]How to remove text between two specific words in a dataframe column by python

我正在清理的列中有文本,我需要刪除“原始”和“主題”這兩個詞之間出現在列中的所有單詞,這只是一些行。

我目前正在嘗試

   a = df['textcol']
   import re
   df['textcol'] =re.sub('Original.*?Subject','',str(a), flags=re.DOTALL)

這個 function 使每根絲束中的每根繩子都與第一行完全相同,而不是單獨查看每一行並進行更改

您需要直接使用Series.str.replace

df['textcol'] = df['textcol'].str.replace(r'(?s)Original.*?Subject', '', regex=True)

這里, (?s)代表re.DOTALL / re.S為了不必導入re ,它是它們的內聯修飾符版本。 .*? 匹配任何零個或多個字符,盡可能少。

如果OriginalSubject需要作為包含文字文本的變量傳遞,請不要忘記re.escape

import re
# ... etc. ...
start = "Original"
end = "Subject"
df['textcol'] = df['textcol'].str.replace(fr'(?s){re.escape(start)}.*?{re.escape(end)}', '', regex=True)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM