为什么numpy数组比较返回布尔数组?

时间:2017-09-19 16:36:39

标签: python numpy multidimensional-array

为什么:

[3] == np.arange(10) 

返回:

([False, False, False,  True, False, False, False, False, False, False], dtype=bool) 

而不仅仅是False

1 个答案:

答案 0 :(得分:0)

为什么np.arange(10)+3会返回一个数组?比较[3] == np.arange(10)以相同的方式处理参数,逐个元素(根据需要进行广播)。

如果它无法广播并进行元素明智比较,则会返回False或错误。

In [285]: np.arange(10)==[1,2]
/usr/local/bin/ipython3:1: DeprecationWarning: elementwise == comparison failed; this will raise an error in the future.
  #!/usr/bin/python3
Out[285]: False