通过给定数组元素作为整数获取numpy数组的特定索引

时间:2016-11-22 21:43:34

标签: python numpy

import numpy as np

a=np.zeros(5)
a[0]=22
a[1]=33
a[2]=10
a[3]=12
a[4]=49
var=np.where(a==10)
print(var)

我们将获得上述代码的输出如下:

(array([2], dtype=int64),)

但是,我们希望仅索引值(例如,此处为2)为整数,而不是整行。

4 个答案:

答案 0 :(得分:1)

如果您使用np.where,我想获取索引的唯一方法是np.where(a==10)[0][0]

答案 1 :(得分:0)

嗯,这很简单:

index = var[0][0]

答案 2 :(得分:0)

>>> var [0][0]
2

但如果查找项有重复的条目,var [0]可以是一个列表。

答案 3 :(得分:0)

numpy.where(condition)的结果要么是ndarray,要么是ndarray的元组。 你的结果也是一个元组。打印结果的更好方法是将生成的元组转换为单维数组,然后打印该数组的每个值。

import numpy as np
a = np.array([22,33,10,12,49])  #array created with values
var = np.where(a==10)           #condition to check, resulting in tuple with location of matching values
var = np.asarray(var).ravel()   #asarray(var) converts var in array and ravel() converts that into singular array.
for v in var:
    print(v)