熊猫替换行值

时间:2019-04-13 15:50:18

标签: python pandas

我要替换包含特定字符串的行中的值

    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

谢谢!

3 个答案:

答案 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参数,但是在您的情况下则不需要。