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

如何以Pythonic方式通过Pandas .loc实现与列表长度无关的数据筛选?

解决方案

直接使用Pandas的isin()方法即可,这是最Pythonic且简洁的写法,无需根据列表长度编写分支代码:

products_selected = ["Apple", "Banana", "Strawberry"]
data = data.loc[data.PRODUCT.isin(products_selected)]

原理说明

  • data.PRODUCT.isin(products_selected)会生成一个布尔类型的Series,每个元素对应原DataFrame的一行,标记该行的PRODUCT值是否存在于products_selected列表中。
  • 将这个布尔Series传入.loc,就能直接筛选出所有符合条件的行——无论products_selected列表长度是1还是N,代码都无需修改。

对比你原来的分支写法,这种方式既减少了冗余代码,也更贴合Pandas的惯用语法,可读性更强。

内容的提问来源于stack exchange,提问作者Martha's Vineyard

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 11:55:20