0
0
NumPydata~5 mins

Logical operations (and, or, not) in NumPy

Choose your learning style9 modes available
Introduction

Logical operations help us check conditions on data. They tell us if things are true or false, which is useful for filtering and decision-making.

Selecting rows in a table where multiple conditions are true
Combining filters to find data that meets at least one condition
Negating a condition to find data that does not meet a rule
Checking multiple boolean arrays together in data analysis
Syntax
NumPy
numpy.logical_and(condition1, condition2)
numpy.logical_or(condition1, condition2)
numpy.logical_not(condition)

Use numpy.logical_and to check if both conditions are true.

Use numpy.logical_or to check if at least one condition is true.

Use numpy.logical_not to reverse a condition.

Examples
This checks which numbers are greater than 2 AND less than 5.
NumPy
import numpy as np

arr = np.array([1, 2, 3, 4, 5])
cond1 = arr > 2
cond2 = arr < 5
result = np.logical_and(cond1, cond2)
print(result)
This checks which numbers are either 1 OR 5.
NumPy
import numpy as np

arr = np.array([1, 2, 3, 4, 5])
cond1 = arr == 1
cond2 = arr == 5
result = np.logical_or(cond1, cond2)
print(result)
This reverses the boolean values in the array.
NumPy
import numpy as np

arr = np.array([True, False, True])
result = np.logical_not(arr)
print(result)
Sample Program

This program shows how to use logical AND, OR, and NOT to filter numbers based on conditions.

NumPy
import numpy as np

# Create an array of numbers
numbers = np.array([10, 15, 20, 25, 30])

# Condition 1: numbers greater than 15
cond1 = numbers > 15

# Condition 2: numbers less than or equal to 25
cond2 = numbers <= 25

# Find numbers that satisfy both conditions (AND)
both_conditions = np.logical_and(cond1, cond2)
print('Numbers > 15 AND <= 25:', numbers[both_conditions])

# Find numbers that satisfy either condition (OR)
either_condition = np.logical_or(cond1, cond2)
print('Numbers > 15 OR <= 25:', numbers[either_condition])

# Find numbers NOT greater than 15
not_condition = np.logical_not(cond1)
print('Numbers NOT > 15:', numbers[not_condition])
OutputSuccess
Important Notes

Logical operations work element-wise on arrays.

Use parentheses to group conditions clearly when combining multiple logical operations.

Summary

Logical operations help combine or reverse conditions on data.

Use logical_and for AND, logical_or for OR, and logical_not for NOT.

They are useful for filtering and selecting data in arrays.