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

Python中str.contains多条件筛选报错问题求助

问题分析与解决

你的代码问题出在str.contains()的用法上:

  • str.contains()默认只接受第一个参数为匹配用的字符串(或正则表达式),后面的参数是正则相关的标记(比如忽略大小写),不是额外的匹配值,所以你传多个字符串会触发语法错误。
  • 你的需求是精确匹配指定的几个婚姻状态值,用isin()方法才是正确的选择,它专门用来判断列值是否在给定的列表里。

修正后的代码

adult_data_list = adult_data[(adult_data['age'] > 50) & 
                             (adult_data['Marital_status'].isin(['Divorce', 'Separated', 'Widowed', 'Never-married']))
                            ]

如果一定要用str.contains()(仅适用于模糊匹配场景),得把多个匹配值拼成正则的或表达式,写法如下,但不推荐用于你的精确匹配需求:

adult_data_list = adult_data[(adult_data['age'] > 50) & 
                             (adult_data['Marital_status'].str.contains('Divorce|Separated|Widowed|Never-married'))
                            ]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 04:32:03