如何解决Python数据框在特定字符之前删除子字符串
我正在尝试删除名称列中“-”之前的数字。但并非所有行都在名称前加上数字。如何删除有数字的行中的数字,并使前面没有数字的行保持不变?
样本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
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。