簡體   English   中英

如果以特定字符串開頭,則去除列值 pandas

[英]Strip colum values if startswith a specific string pandas

我有一個 pandas 數據框(示例)。

id  name
1   Mr-Mrs-Jon Snow
2   Mr-Mrs-Jane Smith
3   Mr-Mrs-Darth Vader

我想從 dataframe 中去掉“Mr-Mrs-”。即 output 應該是:

id  name
1   Jon Snow
2   Jane Smith
3   Darth Vader

我嘗試使用

df['name'] = df['name'].str.lstrip("Mr-Mrs-")

但是在這樣做的同時,某些行中的某些名稱字母也會被刪除。

我不想為每一行運行一個循環和 do.loc,是否有更好/優化的方法來實現這一點?

不要剝離,使用字符串錨點 ( ^ ) 的開頭replace

df['name'] = df['name'].str.replace(r"^Mr-Mrs-", "", regex=True)

removeprefix

df['name'] = df['name'].str.removeprefix("Mr-Mrs-")

Output:

id         name
1      Jon Snow
2    Jane Smith
3   Darth Vader

暫無
暫無

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

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