NumPy arrays help us store and work with many numbers easily. They make math with lists faster and simpler.
NumPy array foundation review in 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).
import numpy as np # Empty array (no elements) empty_array = np.array([]) print(empty_array)
import numpy as np # Array with one element single_element_array = np.array([10]) print(single_element_array)
import numpy as np # Array with multiple elements multi_element_array = np.array([5, 10, 15]) print(multi_element_array)
import numpy as np # 2D array (like a table) matrix_array = np.array([[1, 2], [3, 4]]) print(matrix_array)
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.
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)
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.
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
NumPy array over a regular Python list for storing numbers?Solution
Step 1: Understand memory and speed benefits
NumPy arrays store data in a compact way and use optimized code for math.Step 2: Compare with Python lists
Python lists store references and are slower for math operations.Final Answer:
NumPy arrays use less memory and allow faster math operations -> Option CQuick Check:
NumPy arrays = efficient storage + fast math [OK]
- Thinking NumPy arrays can store mixed data types like lists
- Assuming NumPy arrays sort data automatically
- Believing NumPy arrays are slower than lists
Solution
Step 1: Recall correct syntax for np.array
NumPy arrays are created by passing a list inside parentheses: np.array([elements]).Step 2: Check each option
np.array([1, 2, 3]) uses correct syntax with square brackets inside parentheses. Others have syntax errors.Final Answer:
np.array([1, 2, 3]) -> Option BQuick Check:
np.array needs a list inside parentheses [OK]
- Omitting square brackets around elements
- Using curly braces instead of square brackets
- Separating elements with semicolons inside list
import numpy as np arr = np.array([[1, 2], [3, 4]]) print(arr.shape)
Solution
Step 1: Understand the array shape
The array has 2 rows and 2 columns, so shape is (2, 2).Step 2: Confirm shape output
Printing arr.shape returns a tuple with dimensions (2, 2).Final Answer:
(2, 2) -> Option AQuick Check:
2 rows and 2 columns = (2, 2) [OK]
- Confusing total elements with shape
- Expecting a flat tuple like (4,)
- Misreading rows and columns order
import numpy as np arr = np.array([1, 2, 3]) print(arr[3])
Solution
Step 1: Check array length and indexing
Array has elements at indices 0, 1, 2. Index 3 is out of range.Step 2: Understand error type
Accessing arr[3] causes IndexError for out-of-bounds access.Final Answer:
IndexError because index 3 is out of bounds -> Option AQuick Check:
Index 3 invalid for length 3 array [OK]
- Thinking index 3 accesses the last element
- Confusing syntax error with runtime error
- Assuming arr[3] prints 3
arr = np.array([[1, 2, 3], [4, 5, 6]]), which code correctly extracts the second column as a 1D array?Solution
Step 1: Understand array slicing for columns
To get a column, select all rows (:) and the column index.Step 2: Identify correct column index
Second column has index 1 (zero-based indexing).Step 3: Check options
arr[:, 1] uses arr[:, 1] which selects all rows, column 1 correctly.Final Answer:
arr[:, 1] -> Option DQuick Check:
All rows, column 1 = arr[:, 1] [OK]
- Using arr[1, :] which selects a row, not a column
- Using arr[1] which selects second row
- Using wrong column index
Ready to prove it?
Pass the test and this pattern moves unknown
