- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试理解 numpy 函数
unravel_index
应用它来查找 n 维数组中最大数字的索引。我总是可以使用以下调用找到最大的数字:
np.where(a == a.max())[0][0]
我尝试按以下方式使用unravel_index
:
a.unravel_index([a.max()],a.shape)
但这不起作用。如何使用 unravel_index
查找最大数字的索引?
最佳答案
np.unravel_index
将平面索引转换为维度索引。因此,您需要将平面索引以及数组的形状传递给 np.unravel_index 。如果将多维数组转换(查看)为一维数组/向量,则平面索引是数组单元格的索引。
对于您的情况,您可能想要使用 np.argmax
获取平面索引,然后使用 np.unravel_index 获取维度索引(如果需要):
a = np.random.rand(100, 100)
flat_idx = a.argmax()
dim_idx = np.unravel_index(flat_idx, a.shape)
返回最大值。值,您现在可以使用两者来索引数组a
:
print(a.flat[flat_idx])
print(a[dim_idx])
使用 np.where
并使用 [0][0]
索引第一个元素将仅适用于一维数组!< br/>如果在不索引第一个元素的情况下调用它,它将返回与 np.unravel_index 非常相似的结果。但是,当 np.unravel_index 返回整数元组时,np.where 将返回整数数组元组。
这使得索引和查找索引的速度变慢! np.where(a == a.max())
花费的时间大约是 np.unravel_index(a.argmax(), a.shape) 的4 倍
。 (针对形状为 (100,100) 和 (1000,1000) 的数组进行了测试。)
关于python - 使用 unravel_index 查找最大数字的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51980901/
我正在尝试理解 numpy 函数 unravel_index 应用它来查找 n 维数组中最大数字的索引。我总是可以使用以下调用找到最大的数字: np.where(a == a.max())[0][0]
我在理解 unravel_index 的输出时遇到了一些困难在以下代码的上下文中。 使用meshgrid我创建两个代表某些坐标的数组: import numpy as np x_in=np.arang
您好,我有一个名为 mi_reshaped 的 2x4 数组。我使用 argmax 找出数组中最大元素的索引。现在我想将这些索引转换为 x,y 坐标。所以我使用了 numpy.unravel_inde
和标题说的差不多。我已经阅读了文档并且我已经使用了一段时间的功能,但我无法辨别这种转换的物理表现是什么。 最佳答案 计算机内存是线性寻址的。每个存储单元对应一个数字。可以根据基址(即其第一个元素的内存
numpy.unravel_index() 将一个形状和一个平面索引放入数组中,并返回表示数组中该索引的元组。有倒数吗?我可以手动计算它,但这似乎一定是某处的内置函数...... 最佳答案 从 num
基于following answer : 使用 Octave,我得到: >> [x, y, z] = ind2sub([27, 5, 58], 3766) x = 13 y = 5 z = 28
我试图沿一个轴边缘化数组,并检查一维峰值是否出现在与原始二维峰值相同的相关索引处。在什么情况下(x 的形式)以下断言会失败? def check(x,axis=None): import nu
我是一名优秀的程序员,十分优秀!