Show
Este artigo se concentra na comparação feita usando NumPy em matrizes. Comparar dois arrays NumPy determina se eles são equivalentes, verificando se todos os elementos em cada índice correspondente são iguais. Método 1: Geralmente usamos o ==operador para comparar duas matrizes NumPy para gerar um novo objeto de matriz. Chame ndarray.all() com o novo objeto array como ndarray para retornar True se os dois arrays NumPy forem equivalentes. import numpy as np an_array = np.array([[1, 2], [3, 4]]) another_array = np.array([[1, 2], [3, 4]]) comparison = an_array == another_array equal_arrays = comparison.all() print(equal_arrays)Resultado:
Arrays. O método equals() não compara recursivamente se um array contém outro array em outro Arrays. O método deepEquals() compara recursivamente se um array contém outro array. Arrays.equals (Object [], Object []) Sintaxe: Parâmetros:
Retorna: verdadeiro se as duas matrizes forem iguais
Array.deepEquals (Object [], Object []) Sintaxe: public static boolean deepEquals(Object[] o1, Object[] o2) o1 = First Array to test for Equality o2 = Second Array to test for Equality
Principais diferenças: Se em qualquer Array, um item for outro Array, a chamada para equals() vai para java.lang.Object equals(), que compara a referência de dois Object e não realiza comparação profunda e falha na comparação lógica no caso de Array aninhado . Por outro lado, o método Arrays.deepEquals() executa várias verificações e chama Arrays.equals() para comparação sem matriz e chama recursivamente Arrays.deepEquals() para comparação de tipo de matriz, o que permite comparar matrizes aninhadas logicamente em Java . Observação: é sempre recomendável usar Arrays.equals() para comparar Array não aninhado e Arrays.deepEquals() para comparar Array aninhado, já que Array.equals() é mais rápido do que Arrays.deepEquals() no caso de não aninhado Variedade. Ilustração de equals() em java: // Java program to compare two arrays // using .equals() method import java.io.*; import java.util.*; class GFG { public static void main(String[] args) { int[] A = { 1, 2, 3, 4, 5 }; int[] B = { 1, 2, 3, 4, 5 }; int[] C = { 2, 1, 4, 3, 5 }; // Comparing two arrays A and B using .equals() if (Arrays.equals(A,B)) System.out.println( "Array A and Array B is equal"); else System.out.println( "Array A and Array B is not equal"); if (Arrays.equals(A, C)) System.out.println( "Array A and Array C is equal"); else System.out.println( "Array A and Array C is not equal"); } }SaídaMatriz A e Matriz B são iguais Array A e Array C não são iguais Abaixo está a ilustração de deepEquals() em java: - SaídaMatriz A e Matriz B são iguais Array A e Array C não são iguais Neste tutorial, examinaremos vários métodos para comparar dois arrays em Python e verificar se eles são iguais ou não. As duas arrays só serão iguais quando suas dimensões e valores forem iguais. Se as duas arrays tiverem os mesmos valores, mas sua sequência não for a mesma, as arrays não serão consideradas iguais. Podemos verificar se as duas arrays são iguais ou não em Python usando os seguintes métodos: Compare duas arrays em Python usando o método numpy.array_equal()O numpy.array_equal(a1, a2, equal_nan=False) leva dois arrays a1 e a2 como entrada e retorna True se ambos os arrays têm a mesma forma e elementos, e o método retorna False caso contrário . O valor padrão do argumento de palavra-chave equal_nan= é False e deve ser definido como True se quisermos que o método considere dois valores NaN como iguais. O código de exemplo a seguir demonstra como usar o método numpy.array_equal() para comparar dois arrays em Python. import numpy as np a1 = np.array([1,2,4,6,7]) a2 = np.array([1,3,4,5,7]) print(np.array_equal(a1,a1)) print(np.array_equal(a1,a2))Resultado: True FalseCompare duas arrays em Python usando o método numpy.allclose()O método numpy.allclose(a1, a2, rtol=1e-05, atol=1e-08, equal_nan=False) usa a array a1 e a2 como entrada e retorna True se cada elemento de a1 é igual ao elemento correspondente de a2, ou sua diferença está dentro do valor de tolerância. O valor da tolerância é calculado usando os argumentos a2, rtol e atol. O método numpy.allclose() é útil em cálculos onde queremos verificar se os arrays finais são iguais ao array esperado ou não. Podemos usar o método numpy.allclose() para comparar dois arrays em Python da seguinte maneira: import numpy as np a1 = np.array([1,2,4,6,7]) a2 = np.array([1,3,4,5,7]) a3 = np.array([1,3,4.00001,5,7]) print(np.allclose(a1,a2)) print(np.allclose(a3,a2))Resultado: False TrueConforme mostrado no código de exemplo acima, a diferença de 0.00001 entre os dois valores é ignorada por padrão. Podemos alterar os valores de atol e rtol para aumentar o valor de tolerância. Compare duas arrays em Python usando o método numpy.array_equiv()O método numpy.array_equiv(a1, a2) leva o array a1 e a2 como entrada e retorna True se a forma e os elementos dos arrays forem iguais; caso contrário, retorna False. Podemos passar os dois arrays para o método numpy.array_equiv() para compará-los em Python. O código de exemplo a seguir demonstra como usar o método numpy.array_equal() para verificar se os dois arrays são iguais em Python. import numpy as np a1 = np.array([1,2,4,6,7]) a2 = np.array([1,3,4,5,7]) a3 = np.array([1,3,4.00001,5,7]) print(np.array_equiv(a1,a2)) print(np.array_equiv(a3,a2))Resultado: False FalseCompare duas arrays em Python usando o operador == e o método numpy.all()O operador ==, quando usado com as arrays, retorna a matriz com a forma equivalente a ambas as arrays, a matriz retornada contém True em um índice se os elementos de ambas as arrays forem iguais nesse índice, e a matriz será, caso contrário contêm False nesse índice. Como queremos comparar as duas arrays em vez de cada elemento, podemos usar o método numpy.all() com o operador ==. O método numpy.all() retorna True se todos os elementos do array de entrada ao longo do eixo fornecido são True; caso contrário, retorna False. Este método retorna True se ambas as arrays estão vazias ou un array tem um comprimento de 1. E também gerará um erro se a forma de ambas as arrays não for a mesma; é por isso que os métodos mencionados acima devem ser preferidos. O código de exemplo a seguir demonstra como usar o operador == e o método numpy.all() para comparar os dois arrays em Python. import numpy as np a1 = np.array([1,2,4,6,7]) a2 = np.array([1,3,4,5,7]) a3 = np.array([1,3,4.00001,5,7]) print((a1==a2).all()) print((a3==a2).all())Resultado: False False |