[英]Python dataframe remove substring before specific character if ture
我正在嘗試刪除名稱列中“-”之前的數字。 但並非所有行的名稱前都有數字。 如何刪除有數字的行中的數字並保持前面沒有數字的行保持不變?
示例 df:
country Name
UK 5413-Marcus
Russia 5841-Natasha
Hong Kong Keith
China 7777-Wang
所需的 df
country Name
UK Marcus
Russia Natasha
Hong Kong Keith
China Wang
我感謝任何幫助! 提前致謝!
Pandas 有用於系列的字符串訪問器。 如果拆分並獲取結果列表的最后一個元素,即使一行沒有分隔符“-”,您仍然需要該單元素列表的最后一個元素。
df.Name = df.Name.str.split('-').str.get(-1)
您可以通過以下方式將str.lstrip
用於該任務:
import pandas as pd
df = pd.DataFrame({'country':['UK','Russia','Hong Kong','China'],'Name':['5413-Marcus','5841-Natasha','Keith','7777-Wang']})
df['Name'] = df['Name'].str.lstrip('-0123456789')
print(df)
輸出:
country Name
0 UK Marcus
1 Russia Natasha
2 Hong Kong Keith
3 China Wang
.lstrip
確實刪除了前導字符、 .rstrip
尾隨字符和.strip
兩者。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.