4 回答

TA貢獻(xiàn)1785條經(jīng)驗(yàn) 獲得超8個(gè)贊
只需更換第一個(gè)支架
df['box'].str.replace('(', ' (')
0 11M000
1 11M000 (MU)

TA貢獻(xiàn)1817條經(jīng)驗(yàn) 獲得超6個(gè)贊
您正在使用正則表達(dá)式,并且 () 是特殊字符。您必須轉(zhuǎn)義它,因?yàn)槟肫ヅ渥址皇窃谡齽t表達(dá)式上下文中使用特殊用例。
import pandas as pd
data={'box':['11M000','11M000(MU)']}
df = pd.DataFrame(data)
df['box'] = df['box'].str.replace(".\(MU", " (MU", regex=True)
print(df)

TA貢獻(xiàn)1818條經(jīng)驗(yàn) 獲得超7個(gè)贊
在正則表達(dá)式中轉(zhuǎn)義(),因?yàn)樘厥庾址⒂梅聪蛞锰鎿Q\\1,regex=True是默認(rèn)的Series.str.replace,所以應(yīng)該省略:
data={'box':['11M000','11M000(MU)']}
df = pd.DataFrame(data)
df['box'] = df['box'].str.replace('(\(MU\))'," \\1")
print (df)
box
0 11M000
1 11M000 (MU)
沒(méi)有帶參數(shù)的正則表達(dá)式解決方案,regex=False也沒(méi)有轉(zhuǎn)義():
df['box'] = df['box'].str.replace('(MU)'," (MU)", regex=False)
print (df)
box
0 11M000
1 11M000 (MU)
添加回答
舉報(bào)