-1

我想根据更大/更小的关系来比较大小相等的 numpy 数组。具体来说,我有

>>> import numpy as np
>>> A = np.array([0.5, 2., 0.1, 12.])
>>> B = np.ones(len(A))
>>> A<B
array([ True, False,  True, False], dtype=bool)
>>> C = np.array([0.5, 2., 0.1, 12., 0.8])
>>> D = np.ones(len(C))
>>> C<D
array([ True, False,  True, False, False], dtype=bool)

尽管 0.8 小于 1.0,但最后一个元素是 False。这似乎发生在不均匀的数组长度上。我在这里错过了什么吗?

我正在使用 Python 2.7.6 和 NumPy 1.8.0。

但是,它适用于 NumPy 1.8.2。

4

1 回答 1

1

我认为你在测试中混淆了一些东西。在交互式会话中工作时,这始终是危险的。为了重现事物,您应该始终使用自包含的最小工作示例。我猜你不能把这个提供给我们。

仅通过一个简单的测试就得出结论认为“不均匀”长度会失败有点苛刻:-)。此外,正如 DSM 所指出的,在您的第一个片段中,输出不适合输入(长度方向)。你不应该复制/粘贴不相关的输入和输出,只是为了让它看起来是相关的,即使你认为它是相关的。让电脑告诉你。

对我来说,事情按预期工作:

>>> A = np.array([0.5, 2., 0.1, 12., 0.8])
>>> B = np.ones(len(A))
>>> A<B
array([ True, False,  True, False,  True], dtype=bool)
于 2015-01-23T12:51:15.903 回答