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

如何遍历Pandas DataFrame移除括号及括号内数字?

处理DataFrame中带括号的字符串整数,移除括号及内容

不用逐个遍历单元格,用pandas的矢量化字符串操作就能高效完成这个需求,核心是用正则表达式匹配并替换掉括号及内部的数字。

步骤示例:

  1. 先构造示例DataFrame(模拟你的数据场景):
import pandas as pd

df = pd.DataFrame({
    'col1': ['5[6]', '8[7]', '12', '9[3]'],
    'col2': ['20', '15[2]', '7[9]', '3']
})
  1. 执行替换操作:
# 对所有字符串列移除"[数字]"格式的内容
df_cleaned = df.apply(lambda col: col.str.replace(r'\[\d+\]', '', regex=True))

代码说明:

  • r'\[\d+\]'是正则表达式:\[和\]转义了括号(避免正则将其解析为分组符号),\d+匹配1个或多个连续数字,整体匹配[X]格式的内容
  • col.str.replace()会对列中的每个字符串执行替换,把匹配到的内容换成空字符串
  • apply()遍历DataFrame的每一列,确保所有列都被处理

处理后结果:

col1 col2
0    5   20
1    8  15
2   12    7
3    9    3

如果你的数据里存在多个括号(比如"10[2][3]"),这个方法同样有效,会一次性移除所有[数字]格式的片段。

注意:尽量避免用循环遍历每个单元格的方式,pandas的矢量化操作在数据量较大时性能优势非常明显。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 21:01:53