Bird
Raised Fist0
NumPydata~5 mins

Scalar operations on arrays in NumPy

Choose your learning style10 modes available
Introduction

Scalar operations let you add, subtract, multiply, or divide every number in an array by a single number easily. This helps you change all values quickly without writing loops.

You want to increase all prices in a list by 10%.
You need to convert temperatures from Celsius to Fahrenheit for many values.
You want to reduce all exam scores by 5 points.
You want to double the size measurements in a dataset.
You want to normalize data by dividing all values by the maximum value.
Syntax
NumPy
import numpy as np

array = np.array([values])

# Add a scalar
result = array + scalar

# Subtract a scalar
result = array - scalar

# Multiply by a scalar
result = array * scalar

# Divide by a scalar
result = array / scalar

Scalar means a single number, not a list or array.

Operations apply to every element in the array automatically.

Examples
Add 5 to each element: [6, 7, 8]
NumPy
import numpy as np

array = np.array([1, 2, 3])
result = array + 5
print(result)
Empty array multiplied by 10 stays empty: []
NumPy
import numpy as np

array = np.array([])
result = array * 10
print(result)
Single element array subtract 3: [7]
NumPy
import numpy as np

array = np.array([10])
result = array - 3
print(result)
Divide each element by 2: [1.0, 2.0, 3.0]
NumPy
import numpy as np

array = np.array([2, 4, 6])
result = array / 2
print(result)
Sample Program

This program shows how to add, multiply, and divide all elements in a numpy array by a scalar number. It prints the array before and after each operation.

NumPy
import numpy as np

# Create an array of exam scores
exam_scores = np.array([70, 85, 90, 60, 75])
print("Original exam scores:", exam_scores)

# Add 5 bonus points to all scores
bonus_points = 5
updated_scores = exam_scores + bonus_points
print("Scores after adding bonus points:", updated_scores)

# Multiply all scores by 1.1 to give a 10% increase
increased_scores = updated_scores * 1.1
print("Scores after 10% increase:", increased_scores)

# Divide all scores by 2 to find half scores
half_scores = increased_scores / 2
print("Half of the increased scores:", half_scores)
OutputSuccess
Important Notes

Time complexity is O(n) where n is the number of elements, because each element is processed once.

Space complexity is O(n) for the new array created by the operation.

Common mistake: Trying to add a list or array instead of a scalar causes element-wise addition, not scalar operation.

Use scalar operations when you want to apply the same change to every element quickly without loops.

Summary

Scalar operations apply a single number operation to every element in an array.

They are simple and fast ways to change all values at once.

Remember: the scalar is a single number, not a list or array.

Practice

(1/5)
1. What happens when you add a scalar value to a NumPy array?
arr = np.array([1, 2, 3])
result = arr + 5
easy
A. 5 is added only to the first element
B. The array becomes a scalar value 5
C. 5 is added to each element of the array
D. An error occurs because you cannot add a scalar to an array

Solution

  1. Step 1: Understand scalar addition on arrays

    Adding a scalar to a NumPy array adds that scalar to every element individually.
  2. Step 2: Apply addition to each element

    Each element in [1, 2, 3] gets 5 added, resulting in [6, 7, 8].
  3. Final Answer:

    5 is added to each element of the array -> Option C
  4. Quick Check:

    Scalar + array = element-wise addition [OK]
Hint: Scalar operations apply to every element individually [OK]
Common Mistakes:
  • Thinking scalar adds only to first element
  • Expecting an error when adding scalar
  • Confusing scalar with array addition
2. Which of the following is the correct syntax to multiply every element of a NumPy array arr by 3?
easy
A. arr * 3
B. arr * [3]
C. arr * arr[3]
D. arr * (3,)

Solution

  1. Step 1: Identify scalar multiplication syntax

    Multiplying an array by a scalar uses the * operator with a number, like arr * 3.
  2. Step 2: Check other options

    arr * [3] tries to multiply by a list, arr * arr[3] accesses an element (may cause error if index out of range), arr * (3,) is a tuple, not scalar.
  3. Final Answer:

    arr * 3 -> Option A
  4. Quick Check:

    Scalar multiplication uses * scalar [OK]
Hint: Use * with a number, not list or tuple [OK]
Common Mistakes:
  • Using list or tuple instead of scalar
  • Accessing array element incorrectly
  • Confusing scalar with array
3. What is the output of the following code?
import numpy as np
arr = np.array([2, 4, 6])
result = arr - 1
print(result)
medium
A. [3 5 7]
B. [1 3 5]
C. [2 4 6]
D. Error: unsupported operand

Solution

  1. Step 1: Understand scalar subtraction on array

    Subtracting 1 from each element in [2, 4, 6] results in [1, 3, 5].
  2. Step 2: Confirm output matches expected array

    The print statement outputs the array as [1 3 5] without commas.
  3. Final Answer:

    [1 3 5] -> Option B
  4. Quick Check:

    Array - scalar subtracts from each element [OK]
Hint: Subtract scalar from each element for result [OK]
Common Mistakes:
  • Expecting commas in printed array
  • Adding instead of subtracting
  • Thinking operation causes error
4. The following code throws an error. What is the cause?
import numpy as np
arr = np.array([1, 2, 3])
result = arr + '5'
print(result)
medium
A. Cannot add string scalar to numeric array
B. Array is not defined
C. Missing import statement
D. Syntax error in addition

Solution

  1. Step 1: Identify data types involved in addition

    arr is numeric array, '5' is a string scalar. NumPy cannot add string to numbers.
  2. Step 2: Understand error cause

    Adding string to numeric array causes TypeError because types mismatch.
  3. Final Answer:

    Cannot add string scalar to numeric array -> Option A
  4. Quick Check:

    Scalar type must match array type [OK]
Hint: Scalar must be number, not string, for numeric arrays [OK]
Common Mistakes:
  • Thinking import is missing
  • Confusing syntax error with type error
  • Assuming array is undefined
5. You have a NumPy array arr = np.array([10, 20, 30, 40]). You want to reduce each element by 10% using scalar operations. Which code correctly does this?
hard
A. arr + 0.9
B. arr - 0.1
C. arr / 10
D. arr * 0.9

Solution

  1. Step 1: Understand reducing by 10%

    Reducing by 10% means multiplying by 90% or 0.9.
  2. Step 2: Apply scalar multiplication

    Multiplying arr by 0.9 scales each element down by 10%.
  3. Step 3: Check other options

    Subtracting 0.1 reduces by fixed amount, dividing by 10 reduces by 90%, adding 0.9 increases values.
  4. Final Answer:

    arr * 0.9 -> Option D
  5. Quick Check:

    Multiply by 0.9 to reduce by 10% [OK]
Hint: Multiply by 0.9 to reduce by 10% [OK]
Common Mistakes:
  • Subtracting 0.1 instead of 10%
  • Dividing instead of multiplying
  • Adding instead of reducing
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