在我的python测试脚本中,我想断言numpy数组的所有元素是非常接近1.0还是等于0.0。该数组如下所示:
$text = $html->getElementsbyTagName('article')->item(0)->textContent;
我想过使用numpy.allclose或numpy.array_equal,但这里没有任何意义。理想情况下,该功能应该能够用于测试场景
答案 0 :(得分:3)
您可以使用布尔索引获取0个元素并将其掩盖掉。完成后,<a href="https://www.google.com" target="_blank" class="titleClass">Illustrating tips</a>
正是您想要的:
np.allclose
答案 1 :(得分:0)
我能想到的最简单的事情就是遍历数组的每个元素并测试它是否接近于1或等于零:
import numpy as np
arr = np.array([[0.9999999991268851, 1.0000000223517418, 0.999999986961484],
[1.0000000186264515, 0.9999999925494194, 0.0]])
def is_one_or_zero(arr):
for elem in np.nditer(arr):
if not (elem == 0 or np.isclose(1.0, elem)):
return False
return True
print is_one_or_zero(arr) # Should be True
arr[0, 0] = 1.01
print is_one_or_zero(arr) # Should be False