We use element-wise array arithmetic to do math on each number in a list or table separately. This helps us quickly compare or change many numbers at once.
Array arithmetic (element-wise) in Data Analysis Python
import numpy as np array1 = np.array([1, 2, 3]) array2 = np.array([4, 5, 6]) # Addition result_add = array1 + array2 # Subtraction result_sub = array1 - array2 # Multiplication result_mul = array1 * array2 # Division result_div = array1 / array2
Both arrays must have the same shape (same number of elements) for element-wise operations.
NumPy arrays allow fast element-wise math without writing loops.
import numpy as np # Empty arrays array1 = np.array([]) array2 = np.array([]) result = array1 + array2 print(result)
import numpy as np # Single element arrays array1 = np.array([10]) array2 = np.array([5]) result = array1 - array2 print(result)
import numpy as np # Arrays with zero array1 = np.array([0, 2, 4]) array2 = np.array([1, 0, 2]) result = array1 * array2 print(result)
import numpy as np # Division with floats array1 = np.array([10, 20, 30]) array2 = np.array([2, 5, 10]) result = array1 / array2 print(result)
This program shows how to add, subtract, and divide two arrays element-wise. It prints the sales from two stores, then the total sales, difference, and ratio for each day.
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]) print("Store 1 sales:", store1_sales) print("Store 2 sales:", store2_sales) # Calculate total sales each day by adding element-wise total_sales = store1_sales + store2_sales print("Total sales each day:", total_sales) # Calculate difference in sales each day sales_difference = store1_sales - store2_sales print("Sales difference each day:", sales_difference) # Calculate sales ratio (store1 / store2) sales_ratio = store1_sales / store2_sales print("Sales ratio each day (store1/store2):", sales_ratio)
Element-wise operations run fast because they use optimized NumPy code.
Time complexity is O(n), where n is the number of elements.
Space complexity is O(n) because a new array is created for the result.
Common mistake: Trying to operate on arrays of different sizes without broadcasting causes errors.
Use element-wise operations when you want to do math on each pair of elements separately, not on the whole arrays as single numbers.
Element-wise array arithmetic lets you do math on each number in two arrays separately.
Arrays must be the same size for these operations to work directly.
NumPy makes these operations simple and fast without loops.
Practice
Solution
Step 1: Understand element-wise operation
Element-wise means doing the operation on each pair of matching positions in two arrays.Step 2: Apply to addition
For addition, each number in the first array is added to the number in the same position in the second array.Final Answer:
Adding each number in one array to the corresponding number in the other array -> Option BQuick Check:
Element-wise addition = add matching elements [OK]
- Confusing element-wise with total sum
- Thinking arrays are joined instead of added
- Mixing addition with multiplication
a and b element-wise?Solution
Step 1: Recall NumPy addition syntax
NumPy supports element-wise addition using the + operator directly between arrays.Step 2: Check options
c = a + b usesa + b, which is correct. c = a.add(b) is invalid syntax. c = add(a, b) requires importing add function explicitly. c = a & b uses bitwise AND, not addition.Final Answer:
c = a + b -> Option AQuick Check:
Use + for element-wise addition in NumPy [OK]
- Using bitwise operators instead of +
- Trying to call add as a method on array
- Forgetting to import add function if used
import numpy as np x = np.array([1, 2, 3]) y = np.array([4, 5, 6]) z = x * y print(z)
Solution
Step 1: Understand element-wise multiplication
Multiplying two arrays with * multiplies each element in the first array by the corresponding element in the second array.Step 2: Calculate each element
1*4=4, 2*5=10, 3*6=18, so the result is [4, 10, 18].Final Answer:
[4 10 18] -> Option CQuick Check:
Element-wise multiply = multiply matching elements [OK]
- Adding instead of multiplying
- Concatenating arrays instead of multiplying
- Confusing output format with list instead of array
import numpy as np x = np.array([1, 2, 3]) y = np.array([4, 5]) z = x + y print(z)
Solution
Step 1: Check array sizes
Array x has 3 elements, y has 2 elements. Element-wise operations require arrays to be the same size or broadcastable.Step 2: Understand error cause
Since sizes differ and no broadcasting applies here, addition fails with a ValueError.Final Answer:
Arrays have different sizes, so element-wise addition is not possible -> Option DQuick Check:
Array sizes must match for element-wise ops [OK]
- Assuming + works regardless of size
- Thinking np.add fixes size mismatch
- Blaming print syntax for error
store1 = np.array([10, 20, 30, 40]) store2 = np.array([5, 15, 25, 35])
You want to find the total sales per day by adding these arrays element-wise. Then, you want to apply a 10% tax on the total sales. Which code correctly does this?
Solution
Step 1: Calculate total sales element-wise
Add store1 and store2 arrays element-wise using + operator to get daily totals.Step 2: Apply 10% tax
Multiply the total sales array by 1.10 to add 10% tax to each day's total.Final Answer:
total = store1 + store2 final = total * 1.10 print(final) -> Option AQuick Check:
Add then multiply by 1.10 for tax [OK]
- Adding 0.10 instead of multiplying by 1.10
- Multiplying arrays instead of adding
- Dividing instead of multiplying for tax
Ready to prove it?
Pass the test and this pattern moves unknown
