查找数组中值的索引

时间:2016-07-19 20:46:50

标签: python python-3.x numpy

我有一个二维数组。如果我有一个值,我如何找到它的相应值? 例如:

Address

如果我的值为 my_array=[[1,2][3,4][5,6]] ,我该如何告诉我4? 我试过了

3

但它返回了这个:

  

AttributeError:'numpy.ndarray'对象没有属性'index'

3 个答案:

答案 0 :(得分:0)

这是一种奇怪的解决方案,但是:

for item in my_array:
    if 4 in item:
        print item[abs(item.index(4)-1)]

首先,检查项目是否存在。然后,如果是,abs(item.index(4)-1将始终返回元组的相反索引。

答案 1 :(得分:0)

试一试。

import numpy as np 

my_array = np.array([[1,2],[3,4],[4,6]])
print x
goodvalues = [3, 4, 7]
ix = np.in1d(x.ravel(), goodvalues).reshape(x.shape)
print ix

我的输出是......

[[1 2]
 [3 4]
 [4 6]]
[[False False]
 [ True  True]
 [ True False]]

这将返回一个布尔掩码,其中包含包含goodvalues中元素的索引。

答案 2 :(得分:0)

试试这段代码:

[y for x in my_array for y in x].index(4)

输出:

3