每当我运行此代码时,它都说numpy.ndarray没有属性'index'

时间:2019-05-12 19:22:55

标签: python-3.x

当我运行此代码时,它返回numpy.ndarray对象没有属性。我正在尝试编写一个函数,以防给定的数字在数组中,并且返回该数字在数组中的位置。

a = np.c_[np.array([1, 2, 3, 4, 5])]
x = int(input('Type a number'))

def findelement(x, a):
    if x in a:
        print (a.index(x))    
    else:
        print (-1)

print(findelement(x, a))

2 个答案:

答案 0 :(得分:1)

请使用np.where代替list.index

import numpy as np

a = np.c_[np.array([1, 2, 3, 4, 5])]

x = int(input('Type a number: '))

def findelement(x, a):
    if x in a:
        print(np.where(a == x)[0][0])    
    else:
        print(-1)

print(findelement(x, a))

结果:

Type a number: 3
2
None
  

注意np.where返回输入数组中元素的索引,其中   满足给定条件。

答案 1 :(得分:0)

您应该签出np.wherenp.argwhere