Numpy Tutorial
Creating NumPy Array
NumPy Array Manipulation
Matrix in NumPy
Operations on NumPy Array
Reshaping NumPy Array
Indexing NumPy Array
Arithmetic operations on NumPy Array
Linear Algebra in NumPy Array
NumPy and Random Data
Sorting and Searching in NumPy Array
Universal Functions
Working With Images
Projects and Applications with NumPy
Let's delve into binary operations in NumPy. Binary operations refer to operations that are performed on two arrays, element-wise.
In NumPy, binary operations are quite straightforward and are performed on an element-wise basis. This means that the operation is applied to each corresponding pair of elements from the two arrays.
If you haven't installed NumPy, you can do so with:
pip install numpy
Start by importing NumPy:
import numpy as np
a = np.array([1, 2, 3]) b = np.array([4, 5, 6]) result = np.add(a, b) print(result) # Output: [5 7 9]
result = np.subtract(b, a) print(result) # Output: [3 3 3]
result = np.multiply(a, b) print(result) # Output: [ 4 10 18]
result = np.divide(b, a) print(result) # Output: [4. 2.5 2.]
NumPy provides bitwise operations, suitable for integer arrays.
a = np.array([1, 2, 3], dtype=np.uint8) b = np.array([4, 5, 6], dtype=np.uint8) result = np.bitwise_and(a, b) print(result) # Output: [0 0 2]
result = np.bitwise_or(a, b) print(result) # Output: [5 7 7]
result = np.bitwise_xor(a, b) print(result) # Output: [5 7 5]
result = np.bitwise_not(a) print(result) # Output: [254 253 252] for uint8 type
result = np.greater(a, b) print(result) # Output: [False False False]
result = np.less(a, b) print(result) # Output: [True True True]
result = np.equal(a, b) print(result) # Output: [False False False]
Binary operations in NumPy are powerful tools that can be utilized to perform element-wise operations on arrays. Whether it's arithmetic operations, bitwise operations, or comparison operations, NumPy provides intuitive and efficient functions for handling binary operations on arrays.
Description: NumPy supports a variety of binary operations on arrays, including arithmetic, comparison, bitwise, and logical operations.
Code:
import numpy as np # Create two NumPy arrays array1 = np.array([1, 2, 3]) array2 = np.array([4, 5, 6]) # Binary arithmetic operations addition_result = array1 + array2 multiplication_result = array1 * array2 print("Array 1:") print(array1) print("Array 2:") print(array2) print("Addition Result:") print(addition_result) print("Multiplication Result:") print(multiplication_result)
Description: Bitwise operations in NumPy allow element-wise manipulation of binary representations of integers.
Code:
import numpy as np # Create a NumPy array array = np.array([2, 5, 7]) # Bitwise AND operation result_and = array & 3 print("Original Array:") print(array) print("Bitwise AND Result:") print(result_and)
Description: NumPy performs element-wise binary operations, applying the operation to corresponding elements of arrays.
Code:
import numpy as np # Create two NumPy arrays array1 = np.array([1, 2, 3]) array2 = np.array([4, 5, 6]) # Element-wise binary operations bitwise_and_result = np.bitwise_and(array1, array2) bitwise_or_result = np.bitwise_or(array1, array2) print("Array 1:") print(array1) print("Array 2:") print(array2) print("Bitwise AND Result:") print(bitwise_and_result) print("Bitwise OR Result:") print(bitwise_or_result)
Description: NumPy supports various binary arithmetic operations, such as addition, subtraction, multiplication, and division.
Code:
import numpy as np # Create two NumPy arrays array1 = np.array([10, 20, 30]) array2 = np.array([2, 5, 10]) # Binary arithmetic operations addition_result = np.add(array1, array2) multiplication_result = np.multiply(array1, array2) print("Array 1:") print(array1) print("Array 2:") print(array2) print("Addition Result:") print(addition_result) print("Multiplication Result:") print(multiplication_result)
Description: NumPy allows boolean array operations, including element-wise logical operations and comparisons.
Code:
import numpy as np # Create two NumPy arrays array1 = np.array([True, True, False]) array2 = np.array([False, True, True]) # Boolean array operations logical_and_result = np.logical_and(array1, array2) logical_or_result = np.logical_or(array1, array2) print("Array 1:") print(array1) print("Array 2:") print(array2) print("Logical AND Result:") print(logical_and_result) print("Logical OR Result:") print(logical_or_result)
Description: Bitwise shift operations in NumPy allow shifting the bits of array elements left or right.
Code:
import numpy as np # Create a NumPy array array = np.array([2, 4, 8]) # Bitwise shift operations left_shift_result = np.left_shift(array, 1) right_shift_result = np.right_shift(array, 1) print("Original Array:") print(array) print("Left Shift Result:") print(left_shift_result) print("Right Shift Result:") print(right_shift_result)
Description: NumPy supports binary comparison operations, such as greater than, less than, equal to, etc.
Code:
import numpy as np # Create two NumPy arrays array1 = np.array([1, 2, 3]) array2 = np.array([2, 2, 2]) # Binary comparison operations greater_than_result = np.greater(array1, array2) less_than_or_equal_result = np.less_equal(array1, array2) print("Array 1:") print(array1) print("Array 2:") print(array2) print("Greater Than Result:") print(greater_than_result) print("Less Than or Equal Result:") print(less_than_or_equal_result)
Description: NumPy supports logical operations on arrays, such as logical_and
, logical_or
, and logical_not
.
Code:
import numpy as np # Create two NumPy arrays array1 = np.array([True, False, True]) array2 = np.array([False, True, True]) # Logical operations logical_and_result = np.logical_and(array1, array2) logical_or_result = np.logical_or(array1, array2) logical_not_result = np.logical_not(array1) print("Array 1:") print(array1) print("Array 2:") print(array2) print("Logical AND Result:") print(logical_and_result) print("Logical OR Result:") print(logical_or_result) print("Logical NOT Result:") print(logical_not_result)
Description: Combining various binary operations in NumPy to perform complex tasks.
Code:
import numpy as np # Create two NumPy arrays array1 = np.array([1, 0, 1, 0]) array2 = np.array([0, 1, 0, 1]) # Complex binary operations result = (np.logical_and(array1, array2)) | (np.left_shift(array1, 1) & np.right_shift(array2, 1)) print("Array 1:") print(array1) print("Array 2:") print(array2) print("Result:") print(result)