作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
要知道验证两个条件的 numpy 数组的元素,可以使用运算符 *
:
>>> a = np.array([[1,10,2],[2,-6,8]])
>>> a
array([[ 1, 10, 7],
[ 2, -6, 8]])
>>> (a <= 6) * (a%2 == 0) # elements that are even AND inferior or equal to 6
array([[False, False, False],
[ True, True, False]], dtype=bool)
但是 OR 呢?我试着这样做:
>>> (a%2 == 0) + (a <= 6) - (a%2 == 0) * (a <= 6)
array([[ True, True, False],
[False, False, True]], dtype=bool)
但是对于同时验证这两个条件的元素,结果都是假的。我不明白为什么。
最佳答案
你不需要减法。重点是 +
已经表现得像 or
运算符
>>(a%2==0)+(a<=6)
array([[ True, True, True],
[ True, True, True]], dtype=bool)
因为“True+True=True
”。
当你减去 (a<=6)*(a%2==0)
您将满足这两个条件的所有元素变成 false
.
直接做最简单
>>(a<=6)|(a%2==0)
array([[ True, True, True],
[ True, True, True]], dtype=bool)
关于python - 不使用 numpy.logical_or 的逻辑或,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28900713/
为了对元素求和,我们有二元运算符 np.add,此外还有处理多个元素的 np.sum。同样,我们有 np.multiply 和 np.product 来进行乘法运算。 但是对于np.logical_o
Numpy 的 logical_or 函数最多需要两个数组进行比较。如何找到两个以上数组的并集? (关于 Numpy 的 logical_and 并获得两个以上数组的交集,可以提出同样的问题。) 最佳
要知道验证两个条件的 numpy 数组的元素,可以使用运算符 *: >>> a = np.array([[1,10,2],[2,-6,8]]) >>> a array([[ 1, 10, 7],
我是一名优秀的程序员,十分优秀!