Python Pandas:如何替换包含“?"的字符串 [英] Python Pandas: How to replace string contain "?"
本文介绍了Python Pandas:如何替换包含“?"的字符串的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个 Python 2.7 Pandas 数据框,如下所示:
I have a Python 2.7 Pandas Data frame like following:
Id Title URL
Id-1 Bruce Almighty https://www.youtube.com/watch?v=5VGyTOGxyVA
Id-2 Superhero Movie https://www.youtube.com/watch?v=3BnXz-7-y-o
Id-3 Taken https://www.youtube.com/watch?v=vjbfiOERDYs
Id-4 Forest Gump https://www.youtube.com/watch?v=eJFkCJySHdY&t=524s
我想用其他一些字符串替换字符串?v="的一部分,例如URL"列中的ppp".我用普通的替换命令试过:
I want to replace part of string "?v=" with some other string, for example "ppp"from the column "URL". I tried by normal replace command:
df['URL'] = df['URL'].str.replace('?v=', 'ppp')
但出现以下错误.
error: nothing to repeat.
当我尝试只替换一个字符时,例如:
When I try by replacing only one character, for example:
df['URL'] = df['URL'].str.replace('?', 'ppp')
它工作正常.为什么当我尝试替换字符串?v="时它不起作用?
it works fine. Why it didn't work when I try to replace string "?v=" ?
推荐答案
You need escape ?
by \
:
You need escape ?
by \
:
df['URL'] = df['URL'].str.replace('\?v=', 'ppp')
print (df)
Id Title URL
0 Id-1 Bruce Almighty https://www.youtube.com/watchppp5VGyTOGxyVA
1 Id-2 Superhero Movie https://www.youtube.com/watchppp3BnXz-7-y-o
2 Id-3 Taken https://www.youtube.com/watchpppvjbfiOERDYs
3 Id-4 Forest Gump https://www.youtube.com/watchpppeJFkCJySHdY&t=...
df['URL'] = df['URL'].replace('\?v=', 'ppp', regex=True)
print (df)
Id Title URL
0 Id-1 Bruce Almighty https://www.youtube.com/watchppp5VGyTOGxyVA
1 Id-2 Superhero Movie https://www.youtube.com/watchppp3BnXz-7-y-o
2 Id-3 Taken https://www.youtube.com/watchpppvjbfiOERDYs
3 Id-4 Forest Gump https://www.youtube.com/watchpppeJFkCJySHdY&t=...
这篇关于Python Pandas:如何替换包含“?"的字符串的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文