# Compare two NumPy Arrays element-wise in Python

In this article, we will learn to compare two NumPy Arrays element-wise using Python.

There are the multiple ways to compare two NumPy Arrays element-wise. Let’s discuss them one by one.

## Compare two NumPy Arrays using == operator

When two numpy arrays are compared using == operator, it will return a boolean array. If any value in the boolean array is true, then the corresponding elements in the both the arrays are equal, otherwise not equal.

Approach:

1. Import NumPy library.
2. Create two numpy arrays of equal length.
3. apply the `==` operator on both the arrays, i.e, `arr1 ==arr2`. It will return a bool array.
4. Call the all() function on bool array. If it returns True, it means both arrays are equal, otherwise not.

Source Code

```import numpy as np

# creating two numpy arrays
a = np.array([1, 2, 8, 7, 5])
b = np.array([1, 2, 3, 2, 5])

# comparing the arrays using == operator
arr = a==b

print(arr)

if arr.all():
print('Both arrays are equal')
else:
print('Both Arrays are not equal')```

Output:

```[ True  True False False  True]
Both Arrays are not equal```

The comparision can aslo be done with greater than (>) and less than (<) operators. The boolean array elements will contain true if the applied operator is true else false.

Code using > and < operator

```import numpy as np

# creating two numpy arrays
a = np.array([1, 2, 8, 7, 5])
b = np.array([1, 2, 8, 7, 5])

# comparing the arrays using > operator
print("comparing the arrays using > operator ", a > b)

# comparing the arrays using < operator
print("comparing the arrays using < operator ", a < b)

if ( (~(a < b)).all() and (~(a > b)).all() ):
print('Both arrays are equal')
else:
print('Both Arrays are not equal')```

Output:

```comparing the arrays using > operator  [False False False False False]
comparing the arrays using < operator  [False False False False False]
Both arrays are equal
```

## Compare two NumPy Arrays using for loop and zip()

The zip() method takes multiple iterables as arguments and yeilds n-length tuple. Where n is the number of iterables passed to it. Now using for loop and zip() we will iterate over both the arrays and compare them element-wise.

Approach:

1. Import NumPy library.
2. Create two numpy arrays of equal length.
3. Iterate over array and compare elements
4. Print the boolean array.

Source Code

```import numpy as np

# Creating two numpy arrays
a = np.array([1, 2, 8, 7, 5])
b = np.array([1, 2, 3, 4, 5])

# Comparing the arrays using ==
comparision = []
for i,j in zip(a,b):
if i==j:
comparision.append(True)
else:
comparision.append(False)

print(comparision)

if all(comparision):
print('Both arrays are equal')
else:
print('Both Arrays are not equal')```

Output:

```[True, True, False, False, True]
Both Arrays are not equal
```

The comparision can aslo be done with greater than (>) and less than (<) operators. By replacing `==` with `>` or `<` operator.

## Compare two NumPy Arrays using for loop

Iterate over the array and compare each element using `==, > or <` operators. For accesing the elements of both the arrays use indexing.

Approach:

1. Import NumPy library.
2. Create two numpy arrays of equal length.
3. Iterate over array using for loop and compare elements
4. print the boolean array.

Source Code

```import numpy as np

# creating two numpy arrays
a = np.array([1, 2, 8, 7, 5])
b = np.array([1, 2, 3, 4, 5])

# comparing the arrays using ==
comparision = []
for i in range(np.size(a)):
if a[i]==b[i]:
comparision.append(True)
else:
comparision.append(False)

print(" comparision using ==", comparision)

if all(comparision):
print('Both arrays are equal')
else:
print('Both Arrays are not equal')

# comparing the arrays using >
comparision = []
for i in range(np.size(a)):
if a[i] > b[i]:
comparision.append(True)
else:
comparision.append(False)

print(" comparision using >", comparision)

if all(comparision):
print('Both arrays are equal')
else:
print('Both Arrays are not equal')

# comparing the arrays using <
comparision = []
for i in range(np.size(a)):
if a[i] < b[i]:
comparision.append(True)
else:
comparision.append(False)

print(" comparision using <", comparision)

if all(comparision):
print('Both arrays are equal')
else:
print('Both Arrays are not equal')
```

Output:

``` comparision using == [True, True, False, False, True]
Both Arrays are not equal
comparision using > [False, False, True, True, False]
Both Arrays are not equal
comparision using < [False, False, False, False, False]
Both Arrays are not equal

```

## Compare two NumPy Arrays using List Comprehension

Using list comprehension, iterate over the array and compare each element using `==, > or <` operator.

Approach:

1. Import NumPy library.
2. Create two numpy arrays of equal length.
3. Use list comprehension to compare the elements.
4. Print the boolean array.

Source Code

```import numpy as np

# creating two numpy arrays
a = np.array([1, 2, 8, 7, 5])
b = np.array([1, 2, 3, 4, 5])

# comparing the arrays using ==
comparision = [i==j for i,j in zip(a,b)]

if all(comparision):
print('Both arrays are equal')
else:
print('Both Arrays are not equal')

# comparing the arrays using >
comparision = [i > j for i,j in zip(a,b)]

if all(comparision):
print('Both arrays are equal')
else:
print('Both Arrays are not equal')

# comparing the arrays using <
comparision = [i < j for i,j in zip(a,b)]

if all(comparision):
print('Both arrays are equal')
else:
print('Both Arrays are not equal')
```

Output:

```Both Arrays are not equal
Both Arrays are not equal
Both Arrays are not equal
```

## Compare two NumPy Arrays using while loop

Iterate over the array using while loop and compare each element using `==, > or <` operator. For accesing the elements of both the arrays use indexing.

Approach:

1. Import NumPy library.
2. Create two numpy arrays of equal length.
3. Iterate over array using while loop and compare elements.
4. print the boolean array.

Source Code

```import numpy as np

# creating two numpy arrays
a = np.array([1, 2, 8, 7, 5])
b = np.array([1, 2, 3, 4, 5])

# comparing the arrays using ==
comparision = []
i = 0
while(i < np.size(a)):
if a[i]==b[i]:
comparision.append(True)
else:
comparision.append(False)
i+=1
print(" comparision using ==", comparision)

# comparing the arrays using >
comparision = []
i = 0
while(i < np.size(a)):
if a[i]==b[i]:
comparision.append(True)
else:
comparision.append(False)
i+=1
print(" comparision using >", comparision)

# comparing the arrays using <
comparision = []
i = 0
while(i < np.size(a)):
if a[i]==b[i]:
comparision.append(True)
else:
comparision.append(False)
i+=1
print(" comparision using <", comparision)

```

Output

``` comparision using == [True, True, False, False, True]
comparision using > [True, True, False, False, True]
comparision using < [True, True, False, False, True]```

## Summary

Great! you made it, We have discussed All possible methods to compare two NumPy Arrays element-wise using Python. Happy learning.

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Scroll to Top