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

Python IndexError:一维数组被二维索引的原因及解决方法

错误原因及解决方法

错误原因

BestOption是形状为(18978, 1)的二维数组,执行BestOption==1后得到的是同样形状的二维布尔数组。而Choices是一维数组,无法接受二维数组作为索引,因此触发IndexError。

最优解决方法

三种简洁可行的处理方式,任选其一即可:

  1. 用squeeze()降维:移除BestOption的多余维度,转为一维数组后再做判断

    Choices[(BestOption == 1).squeeze()]
    

    或直接对BestOption降维:

    Choices[BestOption.squeeze() == 1]
    
  2. 直接取第一列:访问BestOption的唯一列,得到一维数组

    Choices[BestOption[:, 0] == 1]
    
  3. 用flatten()扁平化数组:将二维数组直接转为一维

    Choices[BestOption.flatten() == 1]
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 20:15:17