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

Python Pandas如何筛选cusip列不以'CASH'开头的行

最优解决方法

直接使用pandas字符串内置的startswith()方法实现需求,语法简洁且鲁棒性更强,是这类前缀匹配场景的官方推荐写法:

# 加na=False参数是为了处理cusip列存在空值的场景,避免布尔索引出现报错
cleaned_df = df[~df['cusip'].str.startswith('CASH', na=False)]

原有写法的错误原因

  • 第一种写法df['cusip'][:4]是提取cusip列的前4行数据,不是对列中每个字符串取前4个字符,逻辑完全不符
  • 第二种写法语法错误,字符串切片要紧跟在str访问器后面,且该写法本身有缺陷:如果某个cusip值长度不足4,切片会返回更短的字符串,逻辑严谨性不如startswith()

切片写法的修正版(仅作参考,不推荐使用)

# 同样需要额外处理空值场景
cleaned_df = df[df['cusip'].str[:4].fillna('') != 'CASH']

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 23:48:03