🐍 NumPy – ndarray Object
The ndarray (N-dimensional array) is the most important object in NumPy.
It is the foundation of the entire NumPy library and is used to store and manipulate large datasets efficiently.
In simple terms:
ndarray is a fast, flexible, and memory-efficient container for numerical data in Python.
What is ndarray?
ndarray stands for N-dimensional array.
It is a grid of values, all of the same type, indexed by a tuple of non-negative integers.
Example:
import numpy as np
arr = np.array([1, 2, 3, 4, 5])
print(arr)
Output:
[1 2 3 4 5]
Key Features of ndarray
1. Homogeneous Data Type
All elements in an ndarray must be of the same type.
Example:
arr = np.array([1, 2, 3])
All values are integers.
2. N-Dimensional Support
ndarray supports multiple dimensions:
- 1D → Vector
- 2D → Matrix
- 3D → Tensor
- nD → Higher-dimensional data
Example:
arr = np.array([[1, 2], [3, 4]])
print(arr)
Output:
[[1 2]
[3 4]]
3. Fixed Size
Once created, the size of an ndarray cannot be changed.
You can modify values, but not resize directly.
4. Fast Computation
ndarray is implemented in optimized C code, making it much faster than Python lists.
5. Memory Efficient
Stores data in a compact memory block for better performance.
Creating ndarray Objects
1. From Python List
arr = np.array([10, 20, 30])
2. 2D Array
arr = np.array([
[1, 2, 3],
[4, 5, 6]
])
3. Using Built-in Functions
Zeros
np.zeros((3, 3))
Ones
np.ones((2, 2))
Range
np.arange(0, 10, 2)
ndarray Attributes
1. shape
Returns dimensions of array.
arr = np.array([[1, 2], [3, 4]])
print(arr.shape)
Output:
(2, 2)
2. ndim
Returns number of dimensions.
print(arr.ndim)
3. dtype
Returns data type.
print(arr.dtype)
4. size
Total number of elements.
print(arr.size)
5. itemsize
Memory size of each element.
print(arr.itemsize)
Indexing in ndarray
1. 1D Indexing
arr = np.array([10, 20, 30])
print(arr[0])
Output:
10
2. 2D Indexing
arr = np.array([[1, 2], [3, 4]])
print(arr[1, 0])
Output:
3
Slicing ndarray
arr = np.array([1, 2, 3, 4, 5])
print(arr[1:4])
Output:
[2 3 4]
Operations on ndarray
Arithmetic Operations
a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
print(a + b)
Output:
[5 7 9]
Scalar Operations
print(a * 2)
Output:
[2 4 6]
Why ndarray is Important?
1. Foundation of NumPy
All NumPy functions operate on ndarray.
2. Used in Data Science
Used in:
- Pandas
- Matplotlib
- Scikit-learn
- TensorFlow
3. Machine Learning Core
All ML models depend on ndarray for data representation.
4. Efficient Computation
Handles large datasets efficiently.
Real-World Example
Calculate average marks:
marks = np.array([70, 80, 90, 85, 95])
print(np.mean(marks))
Output:
84.0
Difference: ndarray vs Python List
| Feature | ndarray | Python List |
|---|---|---|
| Speed | Fast | Slow |
| Memory | Efficient | Less efficient |
| Data Type | Fixed | Flexible |
| Math Operations | Built-in | Manual |
| Performance | High | Medium |
Common Use Cases
- Scientific computing
- Machine learning
- Data analysis
- Image processing
- Signal processing
- Financial modeling
Best Practices
- Use ndarray instead of lists for numerical data
- Avoid loops, use vectorized operations
- Prefer NumPy functions over manual calculations
- Keep data type consistent
Summary
The ndarray object is the core of NumPy.
It provides:
- Fast performance
- Multidimensional support
- Efficient memory usage
- Powerful mathematical operations
Understanding ndarray is essential for mastering NumPy and building advanced applications in data science and machine learning.
Conclusion
The NumPy ndarray is the backbone of numerical computing in Python. It allows developers to work efficiently with large datasets and perform complex operations with minimal code.
Mastering ndarray is the first major step toward becoming proficient in data science and AI development using Python.


0 Comments