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

pandas isin函数传入列表变量时过滤失效返回全零问题求助

问题原因

你代码中的错误出现在isin的参数写法上:
你定义的Prog本身已经是列表类型['ProgA', 'ProgB'],但你在调用isin时又给它套了一层方括号[Prog],最终传入isin的参数实际是嵌套列表 [['ProgA', 'ProgB']]。
此时isin会去匹配FundingSource列中等于列表['ProgA', 'ProgB']的值,而你的列里存储的都是单个字符串,自然没有匹配结果,筛选后的子集为空,聚合求和结果就全为0。
你直接写isin(["ProgA", "ProgB"])时,传入的是一维列表,匹配逻辑正确,所以能得到正常结果。

解决方法

直接把[Prog]外层的方括号去掉,传入Prog本身即可:

aux = EABlock.loc[EABlock["Country"].isin([Ctry]) & EABlock["FundingSource"].isin(Prog),["2020","2021","2022","2023","2024","2025","2026","2027","2028"]].agg(sum)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.17 07:24:03