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

如何在Pandas中删除kd子串及其前置相邻数字生成新列

实现代码

你需要的功能可以通过如下代码实现:

df['vals'] = df['col1'].str.replace(r'\d+kd', '', regex=True)

效果验证

用你给出的示例数据测试,输出完全符合预期:

col1vals
cat 113kd29cat 29
do56goat24kdasddo56goatasd
pig145kdpig

原代码失效原因

你写的正则逻辑本身是对的,失效是因为pandas 2.0及以上版本中,str.replace的regex参数默认值为False,会把传入的规则当成普通字符串匹配,而非正则表达式。显式加上regex=True参数就能正常运行。另外你写的正则里的捕获组()没有实际作用,可以直接去掉。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 07:30:00