w3resource

NumPy: Test comparison operators


14. Test Element-wise String Comparisons

Write a NumPy program to test equal, not equal, greater equal, greater and less test of all the elements of two given arrays.

Sample Solution:

Python Code:

# Importing necessary library
import numpy as np

# Creating two NumPy arrays containing strings
x1 = np.array(['Hello', 'PHP', 'JS', 'examples', 'html'], dtype=np.str)
x2 = np.array(['Hello', 'php', 'Java', 'examples', 'html'], dtype=np.str)

# Displaying the content of Array1
print("\nArray1:")
print(x1)

# Displaying the content of Array2
print("Array2:")
print(x2)

# Comparing the strings in x1 and x2 element-wise for equality
print("\nEqual test:")
r = np.char.equal(x1, x2)
print(r)

# Comparing the strings in x1 and x2 element-wise for inequality
print("\nNot equal test:")
r = np.char.not_equal(x1, x2)
print(r)

# Comparing the strings in x1 and x2 element-wise to check if x1 is less than or equal to x2
print("\nLess equal test:")
r = np.char.less_equal(x1, x2)
print(r)

# Comparing the strings in x1 and x2 element-wise to check if x1 is greater than or equal to x2
print("\nGreater equal test:")
r = np.char.greater_equal(x1, x2)
print(r)

# Comparing the strings in x1 and x2 element-wise to check if x1 is less than x2
print("\nLess test:")
r = np.char.less(x1, x2)
print(r) 

Sample Input:

['Hello' 'PHP' 'JS' 'examples' 'html']

['Hello' 'php' 'Java' 'examples' 'html']

Sample Output:

Array1:
['Hello' 'PHP' 'JS' 'examples' 'html']
Array2:
['Hello' 'php' 'Java' 'examples' 'html']

Equal test:
[ True False False  True  True]

Not equal test:
[False  True  True False False]

Less equal test:
[ True  True  True  True  True]

Greater equal test:
[ True False False  True  True]

Less test:
[False  True  True False False]

Explanation:

In the above code –

x1 = np.array(['Hello', 'PHP', 'JS', 'examples', 'html'], dtype=np.str): x1 is a NumPy array containing string data.

x2 = np.array(['Hello', 'php', 'Java', 'examples', 'html'], dtype=np.str): x2 is a NumPy array containing string data.

np.char.equal(x1, x2): This code compares element-wise if two arrays have the same strings at corresponding positions. It returns a boolean array of the same shape as inputs.

np.char.not_equal(x1, x2): This code is similar to equal function, but returns the opposite of equal function.

np.char.less_equal(x1, x2): This code returns a boolean array of the same shape as inputs, where each element is True if x1 is less than or equal to x2.

np.char.greater_equal(x1, x2): This code returns a boolean array of the same shape as inputs, where each element is True if x1 is greater than or equal to x2.

np.char.less(x1, x2): This code returns a boolean array of the same shape as inputs, where each element is True if x1 is less than x2.

Pictorial Presentation:

NumPy String: Test comparison operators

For more Practice: Solve these Related Problems:

  • Create a function that performs element-wise equality, inequality, less-than, and greater-than comparisons on two string arrays.
  • Implement a solution that converts strings to a common case (upper or lower) before performing the comparisons.
  • Test the function on arrays with similar words differing only by case or punctuation.
  • Combine the comparison results using logical operators to determine overall array similarity.

Go to:


Previous: Write a NumPy program to replace "PHP" with "Python" in the element of a given array.
Next: Write a NumPy program to count the number of "P" in a given array, element-wise.

Python-Numpy Code Editor:

Have another way to solve this solution? Contribute your code (and comments) through Disqus.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Follow us on Facebook and Twitter for latest update.