猿问

使用 str.replace() 从 pandas 数据框中的字符串中删除第 n 个字符

我有一个由字符串组成的熊猫数据框。我想从字符串末尾删除第 n 个字符。我有以下代码:


DF = pandas.DataFrame({'col': ['stri0ng']})

DF['col'] = DF['col'].str.replace('(.)..$','')

它不是删除倒数第三个字符(0在这种情况下),而是删除0ng. 结果应该是string但它输出stri。我哪里错了?


胡说叔叔
浏览 186回答 2
2回答

月关宝盒

您可能希望替换单个字符,然后替换n-1字符串末尾的字符:DF['col'] = DF['col'].str.replace('.(?=.{2}$)', '')      col0  string如果您想确保只删除数字(以便'string'在一个特殊行中不会更改为'strng'),请使用类似'[0-9](?=.{2}$)'模式的东西。

侃侃无极

另一种使用方式pd.Series.str.slice_replace:df['col'].str.slice_replace(4,5,'')输出:0    string Name: col, dtype: object
随时随地看视频慕课网APP

相关分类

Python
我要回答