[Python]numpy:获取索引值所对应的数字值(索引值、下标转化为数字)

时间:2021-12-05 21:20:34

举个例子:

q=[0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15]

我想获取其中值等于7的那个值的下标,以便于用于其他计算。


如果使用np.where,如:

q=np.arange(0,16,1)
g=np.where(q==7)
print q
print g

运行结果是:

[ 0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15]
(array([7]),)
显然(array([7]),)中的数字7我是没法提取出来做运算的,这是一个tuple。


--------------------


处理方法是:

q=np.arange(0,16,1)
g=np.argwhere(q==7)//注意这里,返回的是下标而不是索引值
print q
print g
print int(g)//转化为可运算的数字

运行结果为:
[ 0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15]
[[7]]
7