Numpy返回空数组

时间:2018-01-21 16:37:13

标签: python arrays numpy where

我有一个数组,例如

a = [5,1,3,0,2]

我应用where函数:

np.where(a == 2)

输出是一个空数组

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

我发现了同样的问题here,但在我的情况下它真的没有任何意义或剂量吗?

顺便说一下。我在Mac上使用Python 2.7.10

1 个答案:

答案 0 :(得分:3)

您将列表传递给where()函数而不是Numpy数组。改为使用数组:

In [20]: a = np.array([5,1,3,0,2])

In [21]: np.where(a == 2)
Out[21]: (array([4]),)

同样如评论中所述,在这种情况下,a == 2的值为False,这是传递给where的值。如果a是一个numpy数组,则a == 2的值是一个庞大的bool数组,而where函数将为您提供所需的结果。