Bird
Raised Fist0
Data Analysis Pythondata~5 mins

Array arithmetic (element-wise) in Data Analysis Python

Choose your learning style10 modes available
Introduction

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.

When you want to add two lists of numbers, like daily sales from two stores.
When you need to multiply each temperature reading by a conversion factor.
When you want to subtract expenses from income for each month.
When you want to divide each student's score by the total possible points.
When you want to apply a discount to every price in a list.
Syntax
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.

Examples
Adding two empty arrays results in an empty array.
Data Analysis Python
import numpy as np

# Empty arrays
array1 = np.array([])
array2 = np.array([])
result = array1 + array2
print(result)
Subtracting single element arrays returns an array with one element.
Data Analysis Python
import numpy as np

# Single element arrays
array1 = np.array([10])
array2 = np.array([5])
result = array1 - array2
print(result)
Multiplying arrays with zeros results in zeros where multiplied by zero.
Data Analysis Python
import numpy as np

# Arrays with zero
array1 = np.array([0, 2, 4])
array2 = np.array([1, 0, 2])
result = array1 * array2
print(result)
Division returns float results for each element.
Data Analysis Python
import numpy as np

# Division with floats
array1 = np.array([10, 20, 30])
array2 = np.array([2, 5, 10])
result = array1 / array2
print(result)
Sample Program

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.

Data Analysis Python
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)
OutputSuccess
Important Notes

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.

Summary

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

(1/5)
1. What does element-wise addition of two arrays mean in simple terms?
easy
A. Combining the arrays end to end without any math
B. Adding each number in one array to the corresponding number in the other array
C. Multiplying each number in one array by the total sum of the other array
D. Adding all numbers in both arrays together as a single sum

Solution

  1. Step 1: Understand element-wise operation

    Element-wise means doing the operation on each pair of matching positions in two arrays.
  2. 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.
  3. Final Answer:

    Adding each number in one array to the corresponding number in the other array -> Option B
  4. Quick Check:

    Element-wise addition = add matching elements [OK]
Hint: Think pair by pair addition, not total sums [OK]
Common Mistakes:
  • Confusing element-wise with total sum
  • Thinking arrays are joined instead of added
  • Mixing addition with multiplication
2. Which of the following is the correct syntax to add two NumPy arrays a and b element-wise?
easy
A. c = a + b
B. c = a.add(b)
C. c = add(a, b)
D. c = a & b

Solution

  1. Step 1: Recall NumPy addition syntax

    NumPy supports element-wise addition using the + operator directly between arrays.
  2. Step 2: Check options

    c = a + b uses a + 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.
  3. Final Answer:

    c = a + b -> Option A
  4. Quick Check:

    Use + for element-wise addition in NumPy [OK]
Hint: Use + operator for element-wise addition in NumPy [OK]
Common Mistakes:
  • Using bitwise operators instead of +
  • Trying to call add as a method on array
  • Forgetting to import add function if used
3. What is the output of this code?
import numpy as np
x = np.array([1, 2, 3])
y = np.array([4, 5, 6])
z = x * y
print(z)
medium
A. [4 5 6]
B. [5 7 9]
C. [4 10 18]
D. [1 2 3 4 5 6]

Solution

  1. 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.
  2. Step 2: Calculate each element

    1*4=4, 2*5=10, 3*6=18, so the result is [4, 10, 18].
  3. Final Answer:

    [4 10 18] -> Option C
  4. Quick Check:

    Element-wise multiply = multiply matching elements [OK]
Hint: Multiply arrays element by element with * operator [OK]
Common Mistakes:
  • Adding instead of multiplying
  • Concatenating arrays instead of multiplying
  • Confusing output format with list instead of array
4. The following code throws an error. What is the main reason?
import numpy as np
x = np.array([1, 2, 3])
y = np.array([4, 5])
z = x + y
print(z)
medium
A. You forgot to convert arrays to lists first
B. You must use np.add() instead of + operator
C. The print statement syntax is incorrect
D. Arrays have different sizes, so element-wise addition is not possible

Solution

  1. 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.
  2. Step 2: Understand error cause

    Since sizes differ and no broadcasting applies here, addition fails with a ValueError.
  3. Final Answer:

    Arrays have different sizes, so element-wise addition is not possible -> Option D
  4. Quick Check:

    Array sizes must match for element-wise ops [OK]
Hint: Check array lengths before element-wise operations [OK]
Common Mistakes:
  • Assuming + works regardless of size
  • Thinking np.add fixes size mismatch
  • Blaming print syntax for error
5. You have two arrays representing daily sales for two stores:
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?
hard
A. total = store1 + store2 final = total * 1.10 print(final)
B. total = store1 + store2 final = total + 0.10 print(final)
C. total = store1 * store2 final = total * 1.10 print(final)
D. final = (store1 + store2) / 1.10 print(final)

Solution

  1. Step 1: Calculate total sales element-wise

    Add store1 and store2 arrays element-wise using + operator to get daily totals.
  2. Step 2: Apply 10% tax

    Multiply the total sales array by 1.10 to add 10% tax to each day's total.
  3. Final Answer:

    total = store1 + store2 final = total * 1.10 print(final) -> Option A
  4. Quick Check:

    Add then multiply by 1.10 for tax [OK]
Hint: Add arrays first, then multiply by 1.10 for tax [OK]
Common Mistakes:
  • Adding 0.10 instead of multiplying by 1.10
  • Multiplying arrays instead of adding
  • Dividing instead of multiplying for tax
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard