Matlab转Python:解决Im[ind]数组索引语法错误问题
解决Matlab转Python的数组索引错误问题
当你从Matlab转换代码到Python时,Matlab中1×211420的行向量ind在Python中会被保留为形状(1, 211420)的二维NumPy数组,直接用Im[ind]会触发索引错误——因为NumPy数组的索引需要一维数组,而非二维数组。
你可以用以下几种方法修正:
取二维数组的第一行:直接通过索引提取内部的一维数组
eIm1 = Im[ind[0]]扁平化数组:用
flatten()方法将二维数组转为一维eIm1 = Im[ind.flatten()]压缩冗余维度:用
squeeze()去除长度为1的维度,得到一维数组eIm1 = Im[ind.squeeze()]
这三种方法都能将二维的ind转换为符合NumPy索引要求的一维数组,解决索引错误问题。
内容的提问来源于stack exchange,提问作者maya
相关产品推荐
相关产品推荐

