Table of Contents
- Introduction
- The NumPy Array
ndimAttribute - The NumPy Array
shapeAttribute - The NumPy Array
sizeAttribute - The NumPy Array
TAttribute - The NumPy Array
dtypeAttribute - The NumPy Array
nbytesAttribute - The NumPy Array
itemsizeAttribute
Introduction
The NumPy ndarray object has a number of important attributes. In this section, we will discuss several important ones:
| Attribute | Description |
|---|---|
ndim |
Number of array dimensions. |
shape |
A tuple of integers representing the size of the array in each dimension. |
size |
Total number of elements in the array. |
T |
Transpose of the array. |
dtype |
Data type of the elements of the array. |
itemsize |
Size (in bytes) of each element of the array. |
nbytes |
Total size (in bytes) of the array: |
The NumPy Array ndim Attribute
The ndim attribute of an ndarray object returns the number of array dimensions of the array.
Example
Using thendim attribute for a 1-D array.
1import numpy as np
2x1 = np.zeros((4),dtype=int)
3print(x1)
4print(x1.ndim)
[0 0 0 0]
1
Example
Using thendim attribute for a 2-D array.
1x2 = np.zeros((3, 4),dtype=int)
2print(x2)
3print(x2.ndim)
[[0 0 0 0]
[0 0 0 0]
[0 0 0 0]]
2
Example
Using thendim attribute for a 3-D array.
1x3 = np.zeros((2, 3, 4),dtype=int)
2print(x3)
3print(x3.ndim)
[[[0 0 0 0]
[0 0 0 0]
[0 0 0 0]]
[[0 0 0 0]
[0 0 0 0]
[0 0 0 0]]]
3
In the last example, we created a $2\times 3\times 4$ NumPy array using the numpy.zeros() function. Notice how the output is printed. The array has 3 rows, 4 columns and 2 frames. The output is printed frame by frame. The number of dimensions as computed by the ndim attribute is 3.
The NumPy Array shape Attribute
The shape attribute of an ndarray object returns the shape of an array - in the form of a tuple that gives the lengths of the corresponding array dimensions.
Example
Using theshape attribute.
1print(x1.shape)
2print(x2.shape)
3print(x3.shape)
(4,)
(3, 4)
(2, 3, 4)
The NumPy Array size Attribute
The size attribute of an ndarray object returns the total number of elements in the array which is equal to the product of the array’s dimensions.
Example
Using thesize attribute.
1print(x1.size)
2print(x2.size)
3print(x3.size)
4
12
24
Or more illustratively, using f-strings:
1print(f'the size of x1{x1.shape} is {np.size(x1)}')
2print(f'the size of x2{x2.shape} is {x2.shape[0]}X{x2.shape[1]}={x2.size}')
3print(f'the size of x3{x3.shape} is {x3.shape[0]}X{x3.shape[1]}X{x3.shape[2]}={x3.size}')
the size of x1(4,) is 4
the size of x2(3, 4) is 3X4=12
the size of x3(2, 3, 4) is 2X3X4=24
ADVERTISEMENT
The NumPy Array T Attribute
The T attribute of an ndarray object returns the tranpose of the array.
Example
Using theT attribute to compute the transpose of an array.
1x = np.array([[1.,2.],[3.,4.]])
2print(x)
3print(x.T)
[[1. 2.]
[3. 4.]]
[[1. 3.]
[2. 4.]]
The transpose attribute has no effect on a 1-D array.
The NumPy Array dtype Attribute
The dtype attribute of an ndarray object returns the data type of the array’s elements.
Example
Elements are entered as floats.1a = np.array([[1.,2.],[3.,4.]])
2a.dtype
dtype('float64')
Example
Elements are entered as integers.1b = np.array([[1,2],[3,4]])
2b.dtype
dtype('int32')
Example
Specify thedtype explicity.
1c = np.array([[1,2],[3,4]], dtype=np.float32)
2c.dtype
dtype('float32')
The NumPy Array nbytes Attribute
The nbytes attribute of an ndarray object returns the total bytes consumed by the elements of the array.
Example
Computing the total memory consumed by an array usingnbytes attribute.
1y1 = np.ones((10,10,10), dtype=np.int64)
2y1.nbytes
8000
On the other hand, if dtype is now specified as np.int32, the memory consumed will be halved.
1y2 = np.ones((10,10,10), dtype=np.int32)
2y2.nbytes
4000
The NumPy Array itemsize Attribute
The itemsize attribute of an ndarray object returns the bytes consumed by an element of the array. This quantity can also be computed as
$$\boxed{\text{numpy.ndarray.itemsize} = \frac{\text{numpy.ndarray.nbytes}}{\text{numpy.ndarray.size}}}$$
Example
Using theitemsize attribute.
1y2 = np.ones((10,10,10), dtype=np.int32)
2
3print(f'The total size of the array is {y2.nbytes} bytes. ')
4print(f'Each element consumes {y2.nbytes}/{y2.size} = {y2.itemsize} bytes.')
The total size of the array is 4000 bytes.
Each element consumes 4000/1000 = 4 bytes.