我有一個(gè)由字符串組成的熊貓數(shù)據(jù)框。我想從字符串末尾刪除第 n 個(gè)字符。我有以下代碼:DF = pandas.DataFrame({'col': ['stri0ng']})DF['col'] = DF['col'].str.replace('(.)..$','')它不是刪除倒數(shù)第三個(gè)字符(0在這種情況下),而是刪除0ng. 結(jié)果應(yīng)該是string但它輸出stri。我哪里錯(cuò)了?
2 回答

月關(guān)寶盒
TA貢獻(xiàn)1772條經(jīng)驗(yàn) 獲得超5個(gè)贊
您可能希望替換單個(gè)字符,然后替換n-1字符串末尾的字符:
DF['col'] = DF['col'].str.replace('.(?=.{2}$)', '')
col
0 string
如果您想確保只刪除數(shù)字(以便'string'在一個(gè)特殊行中不會(huì)更改為'strng'),請(qǐng)使用類似'[0-9](?=.{2}$)'模式的東西。

侃侃無極
TA貢獻(xiàn)2051條經(jīng)驗(yàn) 獲得超10個(gè)贊
另一種使用方式pd.Series.str.slice_replace
:
df['col'].str.slice_replace(4,5,'')
輸出:
0 string Name: col, dtype: object
添加回答
舉報(bào)
0/150
提交
取消