在python中将一个数组与其他两个数组进行比较

扬·伯特

我有一组3个数组,我会互相比较。数组a包含一组值,数组b和c的值应部分相同。

就是这样,如果说a[0] == b[0]c[0]总是错误的值

为了更好的解释,我尝试显示我的意思。

import numpy as np

a = np.array([2, 2, 3, 4])
b = np.array([1, 3, 3, 4])
c = np.array([2, 2, 4, 3])

print(a == b)
# return: [False False True  True]
print(a == c)
# return: [True True False False]

如您所见,从这两个集合中我都有两个True和两个False。因此,如果两者之一都为真,则总数应为真。当我执行以下操作时,我得到一个单个的True / False数组。答案就是我想要的...

print((a == b).all())
# return: False
print((a == c).all())
# return: False

print(a.all() == (b.all() or c.all()))
# return: True

当我将数组b和c设置为使得我有两种说法都是错误的时候,我应该以False结尾

import numpy as np

a = np.array([2, 2, 3, 4])
b = np.array([1, 3, 3, 4])
c = np.array([5, 2, 4, 3])


print(a == b)
# return: [False False True  True]
print(a == c)
# return: [False True False False]

print((a == b).all())
# return: False
print((a == c).all())
# return: False

到目前为止,一切都很好

print(a.all() == (b.all() or c.all()))
# return: True

这部分不好,应该是假的!!我如何获得这样的一个或函数,以便当a相同值每个值都存在于bc??中时,我以True结尾

编辑:关于a[0] == b[0]比的解释c[0]:我有一个python函数,其中包含相位信息,并且必须执行一些操作。在此之前,我想检查是否与虚值数组或相位角数组有关。我想在做某事之前先检查一下。问题在于相位角,因为右侧是反相pi。因此,对于每个值,我都有两个选择。是的,在大多数情况下,它是排他的,或者在+/- pi / 2的情况下不是,因为两者都是正确的,这也很好。

正义的

根据您的示例和解释,我想您想要的是:

对于每个位置,正好bc具有相同的值a

如果是这样,可以使用以下代码完成:

def is_exclusively_jointly_same(a, b, c):
    return np.logical_xor(a==b, a==c).all() # or use ^ below
    # return ((a==b)^(a==c)).all()

^是异或(XOR)运算符,它返回True当且仅当精确地它的参数中的一个是True

因此,表达式的(a==b)^(a==c)意思是a==ba==c,但不是全部。然后.all()检查是否对数组中的所有位置都正确。

例子:

>>> a = np.array([1,2,3,4,5])
>>> b = np.array([1,2,0,0,5])
>>> c = np.array([0,0,3,4,0])
>>> is_exclusively_jointly_same(a,b,c)
真的

>>> a = np.array([1,2,3,4,5])
>>> b = np.array([0,2,0,0,5])#第一个值都不是1
>>> c = np.array([0,0,3,4,0])
>>> is_exclusively_jointly_same(a,b,c)
错误的

>>> a = np.array([1,2,3,4,5])
>>> b = np.array([1,2,0,0,5])#第一个值都为1
>>> c = np.array([1,0,3,4,0])
>>> is_exclusively_jointly_same(a,b,c)
错误的

如果您想要的是:

对于每个位置,至少一个bc应该具有相同的值作为a

,那么您需要更改为OR而不是XOR,如下所示:

def is_jointly_same(a, b, c):
    return np.logical_or(a==b, a==c).all() # or use | below
    # return ((a==b) | (a==c)).all()

例子:

>>> a = np.array([1,2,3,4,5])
>>> b = np.array([1,2,0,0,5])
>>> c = np.array([0,0,3,4,0])
>>> is_jointly_same(a,b,c)
真的

>>> a = np.array([1,2,3,4,5])
>>> b = np.array([0,2,0,0,5])#第一个值都不是1
>>> c = np.array([0,0,3,4,0])
>>> is_jointly_same(a,b,c)
错误的

>>> a = np.array([1,2,3,4,5])
>>> b = np.array([1,2,0,0,5])#第一个值都为1
>>> c = np.array([1,0,3,4,0])
>>> is_jointly_same(a,b,c)
真的

这里的关键是,已经计算出每个单独的值时.all()应将其作为最终聚合器应用一次因此,当您发现自己正在申请.all()多次时,应该感到担忧。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在python中将一个数组与其他两个数组进行比较

来自分类Dev

对一个数组进行排序并使其他两个数组保持同步

来自分类Dev

如何使用聚合框架比较两个其他数组,从而获得一个数组?

来自分类Dev

如何在for循环中将一个数组元素与所有其他数组元素进行比较?

来自分类Dev

比较两个数组,然后再在JavaScript中将一个数组中的项添加到另一个数组中

来自分类Dev

判断一个数是否与数组中的任意其他两个数组成一个连续的三个数

来自分类Dev

如何获得一个数组与其他数组的区别?

来自分类Dev

在Python中将两个列表连接到一个数组中

来自分类Dev

对两个数组进行排序,具体取决于一个数组

来自分类Dev

对两个数组进行排序,具体取决于一个数组

来自分类Dev

如何在一系列其他两个数组之间创建一个随机数组?

来自分类Dev

比较两个数组以获取一个数组的下一个值

来自分类Dev

在R中将两个数组转换为一个数据帧

来自分类Dev

比较两个数组后,仅删除第一个重复值和所有其他匹配值

来自分类Dev

python:将两个数组合并为一个数组

来自分类Dev

在C ++中将两个3 x 3数组连接为一个数组

来自分类Dev

如何在 Kotlin 中将两个数组与参数数组合并为一个数组?

来自分类Dev

比较两个数组并使用差异创建一个新数组,考虑重复

来自分类Dev

如何比较两个数组,并从一个数组中删除两个数组中不匹配的多个项目?

来自分类Dev

如何比较两个数组,并从一个数组中删除两个数组中不匹配的多个项目?

来自分类Dev

比较两个数组 - 一个数组的元素必须全部在另一个数组中

来自分类Dev

将两个数组与 For 循环与 python 进行比较

来自分类Dev

通过对其他两个数组的所有元素应用二进制运算,在Swift中创建一个数组

来自分类Dev

从两个数组创建一个多维数组

来自分类Dev

将一个数组与另一个数组值进行比较

来自分类Dev

将一个数据框的一行与其他数据框的行进行比较?

来自分类Dev

基于一个数组对其他数组进行排序 (Obj-C)

来自分类Dev

如何比较两个数组,并从PHP中的一个数组中删除数据?

来自分类Dev

比较两个数组并将对象添加到另一个数组

Related 相关文章

  1. 1

    在python中将一个数组与其他两个数组进行比较

  2. 2

    对一个数组进行排序并使其他两个数组保持同步

  3. 3

    如何使用聚合框架比较两个其他数组,从而获得一个数组?

  4. 4

    如何在for循环中将一个数组元素与所有其他数组元素进行比较?

  5. 5

    比较两个数组,然后再在JavaScript中将一个数组中的项添加到另一个数组中

  6. 6

    判断一个数是否与数组中的任意其他两个数组成一个连续的三个数

  7. 7

    如何获得一个数组与其他数组的区别?

  8. 8

    在Python中将两个列表连接到一个数组中

  9. 9

    对两个数组进行排序,具体取决于一个数组

  10. 10

    对两个数组进行排序,具体取决于一个数组

  11. 11

    如何在一系列其他两个数组之间创建一个随机数组?

  12. 12

    比较两个数组以获取一个数组的下一个值

  13. 13

    在R中将两个数组转换为一个数据帧

  14. 14

    比较两个数组后,仅删除第一个重复值和所有其他匹配值

  15. 15

    python:将两个数组合并为一个数组

  16. 16

    在C ++中将两个3 x 3数组连接为一个数组

  17. 17

    如何在 Kotlin 中将两个数组与参数数组合并为一个数组?

  18. 18

    比较两个数组并使用差异创建一个新数组,考虑重复

  19. 19

    如何比较两个数组,并从一个数组中删除两个数组中不匹配的多个项目?

  20. 20

    如何比较两个数组,并从一个数组中删除两个数组中不匹配的多个项目?

  21. 21

    比较两个数组 - 一个数组的元素必须全部在另一个数组中

  22. 22

    将两个数组与 For 循环与 python 进行比较

  23. 23

    通过对其他两个数组的所有元素应用二进制运算,在Swift中创建一个数组

  24. 24

    从两个数组创建一个多维数组

  25. 25

    将一个数组与另一个数组值进行比较

  26. 26

    将一个数据框的一行与其他数据框的行进行比较?

  27. 27

    基于一个数组对其他数组进行排序 (Obj-C)

  28. 28

    如何比较两个数组,并从PHP中的一个数组中删除数据?

  29. 29

    比较两个数组并将对象添加到另一个数组

热门标签

归档