【问题标题】:How to check if two arrays are equal but opposite in sign?如何检查两个数组是否相等但符号相反?
【发布时间】:2021-03-09 13:02:39
【问题描述】:

我尝试过使用

np.array_equal(A,B) 

但这当然不承认两人会有不同的迹象。

我的数组有相同的数字,但它们不是正数就是负数。

【问题讨论】:

    标签: python arrays numpy


    【解决方案1】:

    如果要检查两个数组是否在元素方面相等不考虑每个元素的符号,请使用它们的绝对值1

    np.array_equal(abs(A), abs(B))
    
    # [-1, 2, 3], [1,  2, -3] → True
    # [-1, 2, 3], [1, -2, -3] → True
    

    如果要检查两个数组是否相等,而每对元素的符号完全相反(比第一种情况更严格的比较),请使用一个数组的否定:

    np.array_equal(A, -B)
    
    # [-1, 2, 3], [1,  2, -3] → False
    # [-1, 2, 3], [1, -2, -3] → True
    

    1内置的abs函数会调用np.absunder the hood

    【讨论】:

      【解决方案2】:

      您可以将numpy库中的absolute()函数用作:

      np.array_equal(np.abs(A), np.abs(B))
      

      【讨论】:

        猜你喜欢
        • 2020-02-12
        • 2020-05-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-10-30
        • 2021-11-15
        相关资源
        最近更新 更多