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

执行Pandas过滤代码触发UserWarning,求消除警告的方法

解决Pandas布尔索引重匹配警告的方法

你这问题核心是搞反了isin的判断方向,原代码里df2['pin'].isin(df1['vpin'])生成的布尔序列是跟着df2的索引走的,但你拿它去筛选df1,两个表行数不一样,自然触发了索引重匹配的警告,而且逻辑其实也没对准你的需求。

你要的是筛选df1中vpin存在于df2的pin中的所有行,正确的写法应该是让df1的vpin去匹配df2的pin集合:

new_df = df1[df1['vpin'].isin(df2['pin'])]

用你给的示例数据测试,运行后会保留df1里两行vpin=1的记录,完全符合需求,而且不会再弹出警告。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 13:05:23