我是Python / pandas的新手,而我正使用Regex掉头发。我想使用str.replace()将字符串修改为数据框。
我在数据框df中有一个“名称”列,如下所示:
Jeffrey[1]
Mike[3]
Philip(1)
Jeffrey[2]
etc...
我想在列的每一行中删除字符串'['或'('...
我想在下面使用类似这样的内容,但是我很难理解正则表达式,欢迎任何有关初学者的正则表达式摘要的提示。
df['Names']=df['Names'].str.replace(r'REGEX??', '')
谢谢!
答案 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