我有一个二维NumPy数组。我知道如何获取轴上的最大值:
>>> a = array([[1,2,3],[4,3,1]])
>>> amax(a,axis=0)
array([4, 3, 3])
如何获得最大元素的索引?我想array([1,1,0])
代替输出。
>>> a.argmax(axis=0)
array([1, 1, 0])
问题内容: 有没有办法一次获取NumPy数组中几个元素的索引? 例如 我想找到in中每个元素的索引,即:。 我发现我使用的解决方案有点冗长: 输出: 问题答案: 您可以使用和(或为此): 这对于您的示例数组很好用,但是通常返回的索引数组不遵循中的值顺序。这可能是个问题,具体取决于您下一步要做什么。 在这种情况下,更好的答案是一个@Jaime给出了这里,使用: 返回值在中出现的索引。例如:
问题内容: NumPy提出了一种通过来获取数组最大值的索引的方法。 我想要类似的事情,但是返回N最大值的索引。 例如,如果我有一个数组,,将返回的索引相对应的元素。 问题答案: 我想出的最简单的方法是: 这涉及数组的完整排序。我想知道是否提供了一种进行部分排序的内置方法。到目前为止,我还没有找到一个。 如果此解决方案太慢(尤其是对于小型解决方案n),则可能值得考虑使用进行编码。
问题内容: 我想分别沿轴0和轴1重复数组元素M和N次: 这行得通,但是我想知道有没有更好的方法而无需创建临时数组。 问题答案: 您可以使用kronecker产品,请参阅: 不过,您原来的方法也可以!
问题内容: 现在,我想要一个形状为(2,3)的数组,其中 实现这一目标的正确方法是什么?一种麻木的方式推广到更大的数组(也许甚至更高的维度)。 请注意区别,以这样的问题这样,在索引的数组包含元组。这不是我要的。 编辑 这个问题的更一般的表述是: data.shape ==(s0,s1,..,sn) indexs.shape ==(s0,s1,…,sn-1,K) 因此,它们具有所有维度,但最后一个相
我有一个2D麻木阵列: 如何获取大于的元素的索引? 现在,我正在做以获取每个最大值的索引,结果是:。我如何实现上述操作?
问题内容: 我有一个int数组,想要获取最小10个(任何n个)元素的索引。我怎样才能做到这一点? 问题答案: 创建一个包含数字和索引的对象,然后创建这些对象的数组,然后执行Array.Sort(arrayset [],比较器)java docs 。然后,您可以从已排序的数组中挑选出前x个项目。 编辑:像这样… [我曾经用它来根据’距离’进行排序