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

使用布尔Series过滤pandas DataFrame时维度不匹配报错如何解决

问题解决方法

错误原因

你编写的代码df[df.columns[_merge]]存在逻辑偏差:

  • df.columns返回的是当前DataFrame的列名集合,总长度仅为12,你用长度为37697的布尔序列_merge对长度12的列名集合做索引,维度完全不匹配,因此触发对应报错。
  • 转置操作无法解决该问题:转置后DataFrame会变为12行37697列,行维度仍然和_merge的长度不一致,报错会持续出现。

正确实现方式

你的需求是筛选_merge取值为True的对应行,pandas中直接将长度匹配的布尔序列作为DataFrame的行过滤条件即可,分两种场景处理:

  1. 若_merge是独立于df的外部布尔Series,直接使用如下代码:
filtered_df = df[_merge]
  1. 若_merge是df本身包含的字段,先从df中取出该列作为过滤条件:
filtered_df = df[df['_merge']]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 21:54:01