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

为何两段Python Pandas代码输出结果存在差异?

解析两段Pandas代码的输出差异

一、第一段代码为何过滤掉False值

首先,dr = cars['drives_right']生成的是一个布尔型Series,每个元素对应cars DataFrame里每一行的drives_right值(True/False)。

当执行cars[dr]时,这是Pandas的布尔索引功能:用布尔Series对DataFrame索引,会自动筛选出布尔值为True的行,所以最终只保留了US、RU、MOR、EG这几行(对应drives_right为True的记录)。

最后sel = [cars[dr]]是把这个筛选后的DataFrame放进了一个单元素列表,所以输出结果外层多了一层方括号。

二、两段代码的数据结构差异

两段代码的核心区别在于对dr的使用方式:

  • 第一段用cars[dr]对原DataFrame做了布尔索引筛选,得到的是一个新的DataFrame,再把它存入单层列表
  • 第二段sel = [[dr]]没有操作原DataFrame,只是把原始的布尔Series dr直接嵌套进了双层列表里,所以输出的是完整的布尔Series,外层套了两层方括号

内容的提问来源于stack exchange,提问作者malcolm.waters

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 09:59:57