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

如何在DataFrame中同时选取多个值?代码报错原因咨询

DataFrame多值选取报错原因及解决方法

报错原因

你代码里的df["Country"]== ["United Kingdom", "Türkiye", "OECD - Total"]是问题核心:

  • pandas中,Series和列表直接用==做比较时,仅当Series长度与列表长度完全一致时才会执行元素级匹配,否则会触发ValueError。
  • 更关键的是,这个写法本身不符合你「筛选Country列属于指定列表中任意值」的需求,==无法实现多值匹配逻辑。

解决方法

改用pandas内置的isin()方法来实现多值筛选,正确代码如下:

df[(df["Variable"] == "% Recycling") & (df["Country"].isin(["United Kingdom", "Türkiye", "OECD - Total"]))]

isin()会逐一检查Series中的每个元素是否存在于传入的列表中,返回对应的布尔Series,完美适配多值筛选的场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 14:33:20