Bird
Raised Fist0
SciPydata~5 mins

NumPy array foundation review in SciPy

Choose your learning style10 modes available
Introduction

NumPy arrays help us store and work with many numbers easily. They make math with lists faster and simpler.

When you want to do math on many numbers at once, like adding or multiplying lists of numbers.
When you need to store data in a table or grid form, like pixels in an image or measurements over time.
When you want to use tools that need fast number crunching, like machine learning or statistics.
When you want to save memory compared to using regular Python lists for numbers.
Syntax
SciPy
import numpy as np

# Create a NumPy array from a Python list
array_name = np.array([1, 2, 3, 4])

Use np.array() to make a NumPy array from a list or other sequence.

NumPy arrays have a fixed size and all elements must be the same type (usually numbers).

Examples
This creates an empty NumPy array with zero elements.
SciPy
import numpy as np

# Empty array (no elements)
empty_array = np.array([])
print(empty_array)
This creates a NumPy array with just one number.
SciPy
import numpy as np

# Array with one element
single_element_array = np.array([10])
print(single_element_array)
This creates a NumPy array with three numbers.
SciPy
import numpy as np

# Array with multiple elements
multi_element_array = np.array([5, 10, 15])
print(multi_element_array)
This creates a 2D NumPy array with rows and columns.
SciPy
import numpy as np

# 2D array (like a table)
matrix_array = np.array([[1, 2], [3, 4]])
print(matrix_array)
Sample Program

This program shows how to create different NumPy arrays: empty, single element, multiple elements, and 2D arrays. It prints each one to see their contents.

SciPy
import numpy as np

# Create an empty array
empty_array = np.array([])
print("Empty array:", empty_array)

# Create an array with one element
single_element_array = np.array([42])
print("Single element array:", single_element_array)

# Create an array with multiple elements
numbers_array = np.array([10, 20, 30, 40])
print("Multiple elements array:", numbers_array)

# Create a 2D array
matrix_array = np.array([[1, 2], [3, 4]])
print("2D array (matrix):")
print(matrix_array)
OutputSuccess
Important Notes

Creating arrays is very fast and uses less memory than Python lists for numbers.

NumPy arrays support many math operations directly, like adding or multiplying all elements.

Common mistake: Trying to mix different data types in one array can cause unexpected results.

Use arrays when you need fast math on many numbers; use lists if you need to store mixed data types or change size often.

Summary

NumPy arrays store numbers efficiently and support fast math.

You can create arrays with zero, one, or many elements, including multi-dimensional arrays.

Arrays are better than lists for math and big data tasks.

Practice

(1/5)
1. What is a key advantage of using a NumPy array over a regular Python list for storing numbers?
easy
A. NumPy arrays automatically sort the data
B. NumPy arrays can store different data types in the same array
C. NumPy arrays use less memory and allow faster math operations
D. NumPy arrays are slower but more flexible than lists

Solution

  1. Step 1: Understand memory and speed benefits

    NumPy arrays store data in a compact way and use optimized code for math.
  2. Step 2: Compare with Python lists

    Python lists store references and are slower for math operations.
  3. Final Answer:

    NumPy arrays use less memory and allow faster math operations -> Option C
  4. Quick Check:

    NumPy arrays = efficient storage + fast math [OK]
Hint: NumPy arrays are built for fast math and memory efficiency [OK]
Common Mistakes:
  • Thinking NumPy arrays can store mixed data types like lists
  • Assuming NumPy arrays sort data automatically
  • Believing NumPy arrays are slower than lists
2. Which of the following is the correct way to create a 1-dimensional NumPy array with elements 1, 2, and 3?
easy
A. np.array(1, 2, 3)
B. np.array([1, 2, 3])
C. np.array{1, 2, 3}
D. np.array([1; 2; 3])

Solution

  1. Step 1: Recall correct syntax for np.array

    NumPy arrays are created by passing a list inside parentheses: np.array([elements]).
  2. Step 2: Check each option

    np.array([1, 2, 3]) uses correct syntax with square brackets inside parentheses. Others have syntax errors.
  3. Final Answer:

    np.array([1, 2, 3]) -> Option B
  4. Quick Check:

    np.array needs a list inside parentheses [OK]
Hint: Use square brackets inside parentheses to create arrays [OK]
Common Mistakes:
  • Omitting square brackets around elements
  • Using curly braces instead of square brackets
  • Separating elements with semicolons inside list
3. What will be the output of the following code?
import numpy as np
arr = np.array([[1, 2], [3, 4]])
print(arr.shape)
medium
A. (2, 2)
B. (4,)
C. (1, 4)
D. (2,)

Solution

  1. Step 1: Understand the array shape

    The array has 2 rows and 2 columns, so shape is (2, 2).
  2. Step 2: Confirm shape output

    Printing arr.shape returns a tuple with dimensions (2, 2).
  3. Final Answer:

    (2, 2) -> Option A
  4. Quick Check:

    2 rows and 2 columns = (2, 2) [OK]
Hint: Shape shows (rows, columns) for 2D arrays [OK]
Common Mistakes:
  • Confusing total elements with shape
  • Expecting a flat tuple like (4,)
  • Misreading rows and columns order
4. Identify the error in this code snippet:
import numpy as np
arr = np.array([1, 2, 3])
print(arr[3])
medium
A. IndexError because index 3 is out of bounds
B. SyntaxError due to wrong array creation
C. TypeError because arr is not subscriptable
D. No error, prints 3

Solution

  1. Step 1: Check array length and indexing

    Array has elements at indices 0, 1, 2. Index 3 is out of range.
  2. Step 2: Understand error type

    Accessing arr[3] causes IndexError for out-of-bounds access.
  3. Final Answer:

    IndexError because index 3 is out of bounds -> Option A
  4. Quick Check:

    Index 3 invalid for length 3 array [OK]
Hint: Array indices start at 0; max index is length-1 [OK]
Common Mistakes:
  • Thinking index 3 accesses the last element
  • Confusing syntax error with runtime error
  • Assuming arr[3] prints 3
5. Given a 2D NumPy array arr = np.array([[1, 2, 3], [4, 5, 6]]), which code correctly extracts the second column as a 1D array?
hard
A. arr[:, 2]
B. arr[1, :]
C. arr[1]
D. arr[:, 1]

Solution

  1. Step 1: Understand array slicing for columns

    To get a column, select all rows (:) and the column index.
  2. Step 2: Identify correct column index

    Second column has index 1 (zero-based indexing).
  3. Step 3: Check options

    arr[:, 1] uses arr[:, 1] which selects all rows, column 1 correctly.
  4. Final Answer:

    arr[:, 1] -> Option D
  5. Quick Check:

    All rows, column 1 = arr[:, 1] [OK]
Hint: Use arr[:, col_index] to get a column [OK]
Common Mistakes:
  • Using arr[1, :] which selects a row, not a column
  • Using arr[1] which selects second row
  • Using wrong column index
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