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

pandas dataframe删除括号内数字时纯数字内容被移除问题咨询

问题原因

234被移除的核心原因是**column1列的数据类型混杂**:Hello (120)、World (22是字符串类型,而234是整数/数值类型。
pandas的.str字符串访问器仅能处理字符串类型的取值,非字符串类型的值调用.str.replace时会被自动转换为空值NaN,表现为该行内容消失。

你编写的两段正则匹配逻辑本身没有问题,不会修改纯数字字符串。

修复方案

首先将整列统一转换为字符串类型,再执行替换操作即可,也可以将两次正则合并简化代码:

# 先将整列转为字符串类型,避免数值被转成空值
df['column1'] = df['column1'].astype(str)
# 单次正则匹配所有左括号开头、后跟数字的片段(兼容有无右闭合括号的情况)
df['column1'] = df['column1'].str.replace(r"\(\d+\)?", "", regex=True)
# 可选:去除替换后末尾残留的空格
df['column1'] = df['column1'].str.rstrip()

运行后即可得到预期输出:

column1
--------
Hello
234
World

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 07:45:03