You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Pandas移除字符串中的括号及括号内内容

移除DataFrame字符串中的[xxx]格式内容

嘿,这个需求用 Pandas 配合正则表达式就能轻松解决!我给你一步步拆解怎么做:

核心思路

我们可以用 Pandas 的str.replace()方法,结合正则表达式精准匹配并移除所有[xxx]格式的内容,最后再清理掉可能残留的多余空格。

代码示例

首先先构造你的示例 DataFrame(你可以直接替换成自己的 DataFrame):

import pandas as pd

# 模拟你的数据
data = {
    'text_col': ['A header', 'Another header', 'First row', 'Second row', '[First] nenen row', '[Second] mmm row']
}
df = pd.DataFrame(data)

然后执行清理操作:

# 移除[xxx]格式内容,并清理首尾空格
df['cleaned_text'] = df['text_col'].str.replace(r'\[.*?\]', '', regex=True).str.strip()

运行后你会得到清理后的结果:

text_colcleaned_text
A headerA header
Another headerAnother header
First rowFirst row
Second rowSecond row
[First] nenen rownenen row
[Second] mmm rowmmm row

正则表达式说明

这里用的正则r'\[.*?\]':

  • \[和\]:因为方括号在正则里是特殊字符,所以需要用反斜杠转义,才能匹配真实的方括号
  • .*?:非贪婪模式匹配任意字符,这样只会匹配到最近的闭合方括号,避免出现多个方括号时匹配过度的问题(比如如果有[a] b [c],非贪婪匹配会分别去掉[a]和[c],而贪婪匹配会把整个[a] b [c]都去掉)

批量处理多列

如果你的 DataFrame 有多列需要处理,可以循环处理所有字符串类型的列:

# 遍历所有字符串类型的列进行清理
for col in df.select_dtypes(include=['object']).columns:
    df[col] = df[col].str.replace(r'\[.*?\]', '', regex=True).str.strip()

内容的提问来源于stack exchange,提问作者ObiwanKeTobi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.30 10:02:32