当前位置: 首页 > 知识库问答 >
问题:

只有整数标量数组才能转换为标量索引

宗弘扬
2023-03-14

我看到的代码是:

ids = np.delete(ids, np.concatenate([ids[-1]], np.where(ious > thresh)[0]))

不同变量的值是:

ID:[3 2 0 1]

欠条:[0.0.65972222 0.65972222]

阈值:0.5

np的输出。(借条)在哪里

我似乎得到的错误是:

    np.where(ious > [thresh])[0]))
TypeError: only integer scalar arrays can be converted to a scalar index

我敢肯定,除了阈值之外,每个变量都是一个Numpy数组。那么到底是哪里出了问题。


共有1个答案

陆运乾
2023-03-14
In [187]: ids=np.array([3,2,0,1])                                                         
In [188]: ious=np.array([0.  ,       0.65972222, 0.65972222])                             
In [189]: thresh=0.5                                                                      

测试其中

In [190]: np.where(ious>thresh)                                                           
Out[190]: (array([1, 2]),)
In [191]: np.where(ious>thresh)[0]                                                        
Out[191]: array([1, 2])
In [192]: np.where(ious>[thresh])[0]                                                      
Out[192]: array([1, 2])

现在,串联

In [193]: np.concatenate([ids[-1]], np.where(ious > thresh)[0])                           
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-193-c71c05bfaf15> in <module>
----> 1 np.concatenate([ids[-1]], np.where(ious > thresh)[0])

TypeError: only integer scalar arrays can be converted to a scalar index
In [194]: np.concatenate([ids[-1], np.where(ious > thresh)[0]])                           
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-194-91ed414d6d7c> in <module>
----> 1 np.concatenate([ids[-1], np.where(ious > thresh)[0]])

ValueError: zero-dimensional arrays cannot be concatenated
In [195]: np.concatenate([[ids[-1]], np.where(ious > thresh)[0]])                         
Out[195]: array([1, 1, 2])

现在删除

In [196]: np.delete(ids,np.concatenate([[ids[-1]], np.where(ious > thresh)[0]]))          
Out[196]: array([3, 1])
 类似资料:
  • 下面是代码: 我得到以下错误: 回溯(最后一次调用):文件“/Users/evgenypavlov/Documents/ml_tutorial_1/main.py”,第34行,在x_train=np中。重塑(x_列,(x_列.shape[0],x_列[1],1])文件“ 据我所知,我已经把它转换成np了。数组,那么什么会导致此问题以及如何解决它?

  • 我有一个名为self的浮动列表。数据,数据我把这个列表交给了peakutils。索引()如下所示: 索引=peakutils.indexes(self.data[_]['smooth_ISA'],thres=0.1,min_dist=50) 但是我得到了这个错误: 只有整数标量数组可以转换为标量索引 你认为发生了什么事? 谢谢

  • 我想写一个函数,根据提供的bin概率,从训练集中随机选取元素。我将集合索引划分为11个单元,然后为它们创建自定义概率。 我得到以下错误: 我觉得这很奇怪,因为我已经检查了我创建的索引数组。它是一维的,它是整数,它是标量。 我错过了什么? 注意:我试图通过传递

  • 我正在尝试一个来自github链接的tensorflow的简单演示代码 我目前正在使用python版本3.5。2 我在命令行中尝试board.py时遇到了这个错误。我已经安装了运行此操作所需的所有依赖项。

  • 我是相当新的python/Numpy和不完全意识到它。 我一直试图实现一个算法,并在某一点上卡住了,当试图把数组的点积与其转置。我得到的错误是 TypeError:只能将整数标量数组转换为标量索引。 下面是我的代码,供参考。

  • 我为这个问题制作了两个数组的简单示例:是一个一维数组,索引处有标签,对应于nD数组的相同索引。我获取标签2出现的所有索引,并希望检索中的值。 因此,如果我想要标签2,我得到索引0和3,这应该给我相应数组中索引0和3的值。 但是当我想调用我的函数时,我收到一个TypeError@。 我的职能: