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

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

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