我有一个由字符串组成的熊猫数据框。我想从字符串末尾删除第 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
提交
取消
