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

Python/Pandas中如何基于列表条件筛选DataFrame?原代码报错求助

Pandas按列表条件筛选DataFrame的正确方法

你的代码无法运行的原因是:在Pandas中,对Series使用in运算符会返回一个单一的布尔值(判断整个Series是否包含在目标列表中),而非每个元素的布尔判断结果,这不符合DataFrame行筛选的要求。

正确的做法是使用Pandas内置的isin()方法,它会返回与原Series长度一致的布尔Series,精准标记符合条件的行:

import pandas as pd
ori_data = pd.DataFrame({'category':['a','a','b','c','d','f']})
filtered_data = ori_data[ori_data['category'].isin(['a','d','f'])]

另外,你也可以使用query()方法实现更简洁的筛选逻辑:

filtered_data = ori_data.query('category in ["a","d","f"]')

两种方法都会得到相同结果:仅保留category列值为'a'、'd'或'f'的行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 10:22:39