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

如何删除Pandas DataFrame中逗号后子串长度超过指定值的行

Pandas 筛选逗号后子串符合长度要求的行实现方案

原有代码问题

  • str.split()未指定分隔符,默认按空白字符切割,无法正确拆分以逗号分隔的name字段值
  • 原逻辑判断的是切割后列表的长度,而非逗号后子串的实际长度,和需求不匹配

正确实现代码

方案1:split拆分后直接判断

按逗号拆分name列,取后半部分判断长度,仅保留长度≤2的行:

df = df[df['name'].str.split(',', expand=True)[1].str.len() <= 2]

方案2:正则提取后判断(鲁棒性更高)

用正则匹配提取逗号后的内容,自动兼容逗号后存在空格的异常场景:

df = df[df['name'].str.extract(r',\s*(.*)$', expand=False).str.len() <= 2]

两种方案运行后,都会过滤掉name列逗号后子串长度大于2的行,和你给出的预期输出完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.12 12:42:03