NumPy strings.greater_equal()
The numpy.strings.greater_equal() function performs an element-wise comparison between two string arrays,
returning True where elements in the first array are lexicographically greater than or equal to elements in the second array.
Syntax
numpy.strings.greater_equal(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True)
Parameters
| Parameter | Type | Description |
|---|---|---|
x1, x2 | array_like | Input string arrays. If their shapes are different, they must be broadcastable to a common shape. |
out | ndarray, None, or tuple of ndarray and None, optional | Optional output array where the result is stored. If None, a new array is created. |
where | array_like, optional | Boolean mask specifying which elements to compare. Elements where where=False retain their original value. |
casting | str, optional | Defines the casting behavior for the operation. |
order | str, optional | Memory layout order of the output array. |
dtype | data-type, optional | Defines the data type of the output array. |
subok | bool, optional | Determines if subclasses of ndarray are preserved in the output. |
Return Value
Returns a boolean array where each element is True if the corresponding element in x1 is greater than or equal to x2 lexicographically, otherwise False.
Examples
1. Comparing Two String Arrays
We compare two arrays of fruit names lexicographically.
import numpy as np
# Define two arrays of fruit names
fruits1 = np.array(["apple", "banana", "cherry"])
fruits2 = np.array(["banana", "apple", "cherry"])
# Perform element-wise greater_equal comparison
result = np.strings.greater_equal(fruits1, fruits2)
# Print the results
print("Fruits1:", fruits1)
print("Fruits2:", fruits2)
print("Comparison result:", result)
Output:
Fruits1: ['apple' 'banana' 'cherry']
Fruits2: ['banana' 'apple' 'cherry']
Comparison result: [False True True]

Here, “apple” is lexicographically smaller than “banana” (False), “banana” is greater than “apple” (True), and “cherry” is equal to “cherry” (True).
2. Broadcasting in String Comparisons
We compare an array of strings with a single string, utilizing broadcasting.
import numpy as np
# Define an array of fruit names
fruits = np.array(["apple", "banana", "cherry", "date"])
# Compare all elements with "banana"
result = np.strings.greater_equal(fruits, "banana")
# Print the results
print("Fruits:", fruits)
print("Comparison with 'banana':", result)
Output:
Fruits: ['apple' 'banana' 'cherry' 'date']
Comparison with 'banana': [False True True True]

Since “apple” is smaller than “banana”, it returns False. Other words are greater or equal to “banana”, so they return True.
3. Using the where Parameter
We selectively compare only certain elements using a condition.
import numpy as np
# Define two arrays of fruit names
fruits1 = np.array(["apple", "banana", "cherry", "date"])
fruits2 = np.array(["banana", "apple", "date", "cherry"])
# Define a condition mask
mask = np.array([True, False, True, False])
# Perform element-wise greater_equal comparison where mask is True
result = np.strings.greater_equal(fruits1, fruits2, where=mask)
# Print the results
print("Comparison result with mask:", result)
Output:
Comparison result with mask: [False False True False]

Here, comparisons are only made where mask=True. The other values remain unchanged.
