【发布时间】:2017-08-07 14:03:40
【问题描述】:
我构造了一个函数,将字符串与字符串数组进行比较,如下例所示:
'A'==np.array(['A','B'])
array([ True, False], dtype=bool)
我想要的是那个布尔数组,但有时我要比较的数组是空的,我会收到警告。当我运行以下命令时,我能够重现 FutureWarning:
'A'==np.array([])
/Users/fedgar01/anaconda/lib/python2.7/site-packages/ipykernel_launcher.py:1: FutureWarning: elementwise comparison failed; returning scalar instead, but in the future will perform elementwise comparison
"""Entry point for launching an IPython kernel.
我应该忽略警告还是我做错了什么?
【问题讨论】:
-
那么重点是,您如何将标量
'A'与空列表进行比较?答案应该是什么?因此,它返回比较两个操作数,因此只返回False,不是一个空数组... -
对于我的函数,我确实希望它在这种情况下输出
False。所以听起来忽略警告是最好的做法? -
确实如此。那么就没有问题了。尽管正如警告所说,将来它们可能会返回一个空数组
np.array([])。
标签: python arrays numpy boolean