是否有一种简单的方法可以删除数据帧行中字符串的结尾?

时间:2020-03-18 15:38:55

标签: python regex pandas

我是Python / pandas的新手,而我正使用Regex掉头发。我想使用str.replace()将字符串修改为数据框。

我在数据框df中有一个“名称”列,如下所示:

Jeffrey[1] 
Mike[3]
Philip(1)
Jeffrey[2]
etc...

我想在列的每一行中删除字符串'['或'('...

我想在下面使用类似这样的内容,但是我很难理解正则表达式,欢迎任何有关初学者的正则表达式摘要的提示。

df['Names']=df['Names'].str.replace(r'REGEX??', '')

谢谢!

3 个答案:

答案 0 :(得分:3)

仅提取带有Series.str.extract的字母:

df['Names'] = df['Names'].str.extract('([A-Za-z]+)')

     Names
0  Jeffrey
1     Mike
2   Philip
3  Jeffrey

答案 1 :(得分:2)

此正则表达式可以使用,$指示字符串的结尾:

 df['Names'] = df['Names'].str.extract('(.*)[\[|\(]\d+[\]\)]$')

答案 2 :(得分:2)

您可以使用split来获取前[(个字符之前的所有内容。

df['Names'].str.split('\[|\(').str[0]

     Names
0  Jeffrey
1     Mike
2   Philip
3  Jeffrey