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

pandas如何正确实现'string' in data['column']形式的条件筛选

条件失效原因

你写的('taxi' in str(data.description))无法正常生效的核心原因是它没有实现逐行匹配列值的逻辑:

  • data.description是pandas的Series对象,直接调用str(data.description)会将整个列的汇总字符串表示(包含索引信息、所有行值的拼接预览内容)转换为单个独立字符串,不会逐行转换每个单元格的内容。
  • 'taxi' in 上述单个大字符串只会返回一个固定的全局布尔值(要么恒为True、要么恒为False),不是和数据集行号一一对应的布尔序列,自然无法按行筛选出符合要求的记录。
正确筛选逻辑

pandas中针对字符串类型列做逐行子串匹配,需要调用.str访问器提供的contains()方法,完整可运行的筛选代码如下:

data.loc[
    (data.type == 'Movie')
    & (data.genre == 'Action')
    & (data.description.str.contains('taxi', na=False))
]

常用参数说明:

  • na=False:当description列存在空值(NaN)时,直接将对应行判定为不匹配,避免空值引发运行报错或异常筛选结果。
  • case=False:添加该参数可以忽略大小写匹配,命中Taxi/TAXI等不同大小写形式的目标字符串,可根据实际需求选择是否添加。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 07:42:15