Pandas逻辑运算符与.isin结果不一致问题咨询
问题原因分析
两段代码结果不同的核心原因是新西兰国名的拼写错误:
- 你在第一段代码中将新西兰的英文名称误写为
New Zeeland,但数据集里正确的国名是New Zealand(注意后缀是aland而非eeland)。这个拼写错误导致reviews.country == 'New Zeeland'完全匹配不到任何新西兰的葡萄酒数据,因此第一段代码实际只筛选出了澳大利亚评分≥95分的样本,最终得到47条结果。 - 第二段代码返回49条数据,说明你在
isin列表里的新西兰名称应该是正确拼写(大概率是你提问时的笔误),或者数据集中存在少量拼写为New Zeeland的样本,但最直接的原因还是第一段的拼写错误导致结果缺失。
额外验证:你的第一段代码括号 ((reviews.country == 'New Zeeland') | (reviews.country == 'Australia')) & (reviews.points >=95) 的逻辑顺序是正确的——通过括号确保先执行「或运算」筛选国家,再执行「与运算」筛选评分,这部分没有运算符优先级的问题,不是结果差异的诱因。
内容的提问来源于stack exchange,提问作者Dalogh
相关产品推荐
相关产品推荐

