Python Pandas:错误:缺失),未终止的子模式在位置2
问题描述:
我有一个数据帧,其中包含我想替换的字符(((
。但我得到的错误这样做后:Python Pandas:错误:缺失),未终止的子模式在位置2
data = [{'Title': 'set1((("a", "b", "c")))'},
{'Title': 'set2((("d", "e", "f")))'},
{'Title': 'set3((("g", "h", "i")))'},
{'Title': 'set4((("j", "k", "l")))'},
{'Title': 'set5((("m", "n", "o")))'},
{'Title': 'set6((("p", "q", "r")))'}]
df = pd.DataFrame(data)
df
# df['Title'] = df['Title'].str.replace('set', 'M') # Works correctly
df['Title'] = df['Title'].str.replace('(((', '>>') # Not working
我如何才能以取代>>
(((
和)))
通过<<
解决这个错误?
答
在pandas
replace
让您使用regex
和(
在regex
特殊含义所以使用\(
df['Title'] = df['Title'].str.replace('\(\(\(', '>>')
大熊猫DOC:pandas.Series.str.replace
感谢指针 –
如果我想更换'(“伊特)m“,”“)'我把它改成了'(”\ ite)m“)'我仍然得到相同的错误。 – chandru
@chandru char''''在正则表达式中有特殊含义,所以你必须使用\来去除这个含义 - 你必须使用''''替换(“ite \)m”,“”)'' – furas