Element-wise arithmetic lets you do math on each item in a list or array separately. It helps you quickly calculate results for many numbers at once.
Element-wise arithmetic in NumPy
result = array1 <operator> array2
# where <operator> can be +, -, *, /, etc.Both arrays should have the same shape or be compatible for broadcasting.
Operations happen on each pair of elements at the same position.
import numpy as np arr1 = np.array([1, 2, 3]) arr2 = np.array([4, 5, 6]) result = arr1 + arr2 print(result)
import numpy as np arr1 = np.array([10, 20, 30]) arr2 = np.array([2, 4, 5]) result = arr1 / arr2 print(result)
import numpy as np arr1 = np.array([1, 2, 3]) result = arr1 * 3 print(result)
This program adds sales numbers from two stores for each day to find total daily sales.
import numpy as np # Create two arrays representing daily sales from two stores store1_sales = np.array([100, 150, 200, 250]) store2_sales = np.array([80, 120, 160, 200]) # Calculate total sales per day by adding element-wise total_sales = store1_sales + store2_sales print("Store 1 sales:", store1_sales) print("Store 2 sales:", store2_sales) print("Total sales per day:", total_sales)
If arrays have different shapes, numpy tries to 'broadcast' smaller arrays to match larger ones.
Be careful with division by zero when doing element-wise division.
Element-wise operations are much faster than looping through elements manually.
Element-wise arithmetic applies math operations to each pair of elements in arrays.
Arrays must be the same shape or compatible for broadcasting.
This method is useful for quick and easy calculations on many numbers at once.
Practice
numpy?Solution
Step 1: Understand element-wise operation
Element-wise arithmetic means applying the operation to each corresponding element in two arrays.Step 2: Compare options
Only Applying operations to each pair of elements in arrays individually correctly describes this as applying operations to each pair of elements individually.Final Answer:
Applying operations to each pair of elements in arrays individually -> Option BQuick Check:
Element-wise = operation on each element pair [OK]
- Confusing element-wise with whole-array operations
- Thinking arrays must be identical length only
- Assuming element-wise means concatenation
a and b element-wise?Solution
Step 1: Check numpy addition methods
The+operator performs element-wise addition in numpy.Step 2: Evaluate options
a.add(b)is invalid because numpy arrays do not have anaddmethod.np.sum(a, b)computes sums, not element-wise addition.a.append(b)is a list method and errors on arrays.Final Answer:
a + b -> Option CQuick Check:
+operator adds arrays element-wise [OK]
- Using methods that don't exist on numpy arrays
- Trying to add arrays with Python list methods
- Confusing element-wise addition with matrix multiplication
import numpy as np x = np.array([1, 2, 3]) y = np.array([4, 5, 6]) print(x * y)
Solution
Step 1: Understand element-wise multiplication
Multiplying two numpy arrays multiplies each element pair: 1*4=4, 2*5=10, 3*6=18.Step 2: Calculate output array
The result is an array: [4, 10, 18].Final Answer:
[4 10 18] -> Option AQuick Check:
Element-wise multiply: [1*4, 2*5, 3*6] = [4 10 18] [OK]
- Adding instead of multiplying elements
- Expecting concatenation of arrays
- Thinking multiplication sums elements
import numpy as np x = np.array([1, 2, 3]) y = np.array([4, 5]) print(x + y)
Solution
Step 1: Check array shapes
Array x has shape (3,), y has shape (2,). They are not compatible for element-wise addition.Step 2: Understand numpy broadcasting rules
Broadcasting requires shapes to be compatible; here they differ and cause an error.Final Answer:
Arrays have incompatible shapes for element-wise addition -> Option DQuick Check:
Shape mismatch causes error in element-wise addition [OK]
- Assuming arrays auto-align despite different lengths
- Ignoring broadcasting rules
- Thinking Python lists behave like numpy arrays
a = np.array([[1, 2], [3, 4]]) b = np.array([10, 20])
What is the result of
a + b and why?Solution
Step 1: Analyze shapes of arrays
ais shape (2,2),bis shape (2,). Numpy broadcastsbacross rows ofa.Step 2: Perform element-wise addition with broadcasting
Addbto each row ofa: first row [1+10, 2+20], second row [3+10, 4+20].Final Answer:
[[11 22] [13 24]] -> Option AQuick Check:
Broadcasting adds b to each row of a [OK]
- Expecting error due to different shapes
- Thinking b replaces a instead of broadcasting
- Ignoring numpy broadcasting rules
Ready to prove it?
Pass the test and this pattern moves unknown
