我要替换包含特定字符串的行中的值
center
1 /foo/2019
2 /foo/2020
3 /foo/3020
4 /foo/1000
5 900
6 /foo/189098
我想摆脱字符串(在本示例中为/foo/
)。我该如何摆脱它们,才能得到这个结果?
center
1 2019
2 2020
3 3020
4 1000
5 900
6 189098
谢谢!
答案 0 :(得分:2)
split
df.center.str.split('/').str[-1]
1 2019
2 2020
3 3020
4 1000
5 900
6 189098
Name: center, dtype: object
或lstrip
df.center.str.lstrip('/foo/')
1 2019
2 2020
3 3020
4 1000
5 900
6 189098
Name: center, dtype: object
或findall
df.center.str.findall('\d+').str[0]
1 2019
2 2020
3 3020
4 1000
5 900
6 189098
Name: center, dtype: object
答案 1 :(得分:2)
或者我们可以使用Series.str.replace
:
df.center.str.replace(r'/foo/', '')
1 2019
2 2020
3 3020
4 1000
5 900
6 189098
Name: center, dtype: object
答案 2 :(得分:0)
有一个专门用于替换字符串的函数:
df.center = df.center.str.replace('/foo/', '')
它也可以包含regex
参数,但是在您的情况下则不需要。