簡體   English   中英

Python數據幀刪除特定字符之前的子字符串如果是

[英]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.

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