If you've ever worked with Python lists and felt they weren’t fast or flexible enough, NumPy arrays are your new best friend. In this tutorial, you'll learn how to create different types of NumPy arrays—from basic 1D arrays to more complex structured ones. Let’s build this up slowly and clearly.
1. Importing NumPy
Before diving in, make sure NumPy is installed and imported.
import numpy as np
Note: We use np
as a convention so we don't have to type numpy
every time.
2. Creating Arrays from Python Lists
This is the most basic and intuitive way to create a NumPy array.
arr = np.array([1, 2, 3, 4])
You can verify the creation by printing its type:
print(type(arr)) # <class 'numpy.ndarray'>
3. Multi-Dimensional Arrays
Nested lists help create 2D and 3D arrays.
matrix = np.array([[1, 2], [3, 4]])
Check: Make sure all inner lists (rows) have the same number of elements, or you'll get unexpected results.
4. Using np.arange()
Think of this as the NumPy version of Python’s built-in range().
arr = np.arange(0, 10, 2) # [0, 2, 4, 6, 8]
Parameters: start, stop (exclusive), step
5. Using np.linspace()
Use this when you need evenly spaced numbers across an interval.
arr = np.linspace(0, 1, 5) # [0. , 0.25, 0.5 , 0.75, 1. ]
Tip: Great for graphs or simulations requiring fixed step precision.
6. Creating Arrays Filled with Zeros or Ones
zeros = np.zeros((2, 3)) # 2x3 matrix of 0s
ones = np.ones((3, 2)) # 3x2 matrix of 1s
Shape must be passed as a tuple. Be cautious of forgetting the parentheses.
7. Creating an Array with a Constant Value
filled = np.full((2, 2), 7) # Every element is 7
8. Identity Matrix with np.eye()
Useful in linear algebra.
identity = np.eye(3)
This creates a 3x3 identity matrix (diagonal = 1, else 0).
9. Creating Empty Arrays (Be Cautious)
empty_arr = np.empty((2, 2))
Warning: The contents are uninitialized garbage values. Only use this when you're going to overwrite values immediately.
Verification Tips
- Use
print(arr.shape)
to check dimensions. - Use
arr.dtype
to see the data type. - Use
arr.ndim
to check array depth (1D, 2D, etc.).
Common Pitfalls to Avoid
- Forgetting to import NumPy
- Mixing lists with different lengths (for multidimensional arrays)
- Passing integers instead of tuples for shape parameters (e.g.,
np.zeros(2,3)
is invalid)
Summary
Creating arrays is the very foundation of working with NumPy. Whether you're initializing data, simulating values, or preparing matrices for computation—there's a creation method tailored for it.
As you continue through the course, you’ll see how these arrays are used for data analysis, simulations, and machine learning pipelines.
Quick Recap
np.array()
— creates numpy array from listnp.arange()
— creates evenly spaced valuesnp.linspace()
— creates evenly spaced over an intervalnp.zeros()
,np.ones()
,np.full()
— pre-filled arraysnp.eye()
— creates identity matrixnp.empty()
— creates uninitialized array