[英]Remove leading strings in a dataframe
我正在研究其他人的代碼df
並且我遇到了與此類似的問題,其中數據被加入了:
Names
--------
NurseJohn
SoldierJohn
TeacherJohn
DriverJohn
CEOJohn
我怎樣才能刪除約翰之前的話?
它可以像這樣刪除,但我不明白它是如何刪除的
df['Names'] = df['Names'].str.replace(".*(?=John)", "", regex=True)
有人可以向我們解釋(".*(?=John)", "", regex=True)
中發生了什么嗎? 有了這個,還有其他方法可以直接做到這一點嗎?
是的,所以...您正在使用正則表達式... 正則表達式是我曾經使用過的一種工具,用於搜索字符串(文本)。 正則表達式 = 正則表達式。 接下來您使用正則表達式排除“約翰”之前的任何內容,然后用“”替換為空字符串。
所以從左到右閱讀它:
實際上,您應該使用的正則表達式模式是:
.*(?=John$)
該模式表示貪婪地匹配所有內容,直到在Names
列的最后匹配內容John
。 請注意,它不會消耗John
,它只會在停止匹配之前斷言它遵循。
您更新的代碼:
df["Names"] = df["Names"].str.replace(r'.*(?=John$)', '')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.