首页 > 解决方案 > 如何从 Python 中的 DataFrame 列中删除特定的更改文本?

问题描述

我有一个包含“测试”列的数据框。它看起来像这样:

Column Test 
'[ABC: 814.6] text text text text [text:123]'
'[ABC: 432.9] text text [ABC: 433] text text [text:123]'
'[ABC: 1] text text text [342:] text [text:123]'

我想删除所有'[ABC: XXX.X]'部分。我知道如何替换“静态”文本,如下所示:

df['Test_New'] = df['Test'].str.replace("[ABC: XXX.X]", '')

但是由于 XXX.X 正在发生变化,我不知道如何解决这个问题。

期望的输出:

Column Test 
' text text text text [text:123]'
' text text  text text [text:123]'
' text text text [342:] text [text:123]'

提前谢谢了!

标签: pythonstringdataframereplacere

解决方案


根据@ZaxR 的评论,str.replace支持正则表达式。

df['Test_New'] = df['Test'].str.replace(r"\[ABC: [\d]{1,3}(?:.\d)?\]", '')

推荐阅读