AppDividend
Latest Code Tutorials

np.shape: How to Find Array Shape in Python

Numpy arrays have the attribute called shape that returns the tuple, with each index having the number of corresponding elements.

np.shape

The np.ndarray.shape is a Numpy property that returns the tuple of array dimensions. The shape property of the Numpy array is usually used to get the current shape of the array but may also be used to reshape an array in place by assigning the tuple of array dimensions to it. The shape of the array is the number of items in each dimension.

Syntax

numpy.shape(a)

Parameters

The shape() property takes one parameter called an array. It is the parameter whose dimension we need to get.

Implement np.shape

Numpy arange() function that returns a ndarray object containing evenly spaced values within the given range. Then we will find the shape of the array.

See the following code.

# app.py

import numpy as np

dim = np.arange(4)
print(dim.shape)

Output

 python3 app.py
(4,)

Now, let’s define an array using some values and find its shape using the np shape property.

# app.py

import numpy as np

dim = np.array([11, 19, 21, 29, 46])
print(dim.shape)

Output

 python3 app.py
(5,)

Find the shape of the Two-dimensional array in Numpy

In this example, we will define one array using the numpy arange() function and then reshape() the array to 2* 2. That means our dimension of the final array will be 2*2. We will verify this with a numpy array shape property.

# app.py

import numpy as np

data = np.arange(4).reshape((2, 2))
print(data)
print("The shape of the array is: ", data.shape)

Output

python3 app.py
[[0 1]
 [2 3]]
The shape of the array is:  (2, 2)

Another way to write a two-dimensional array like this and print its shape.

# app.py

import numpy as np

data = np.array([[11, 21, 31, 41], [15, 16, 17, 18]])
print(data)
print("The shape of the array is: ", data.shape)

Output

python3 app.py
[[11 21 31 41]
 [15 16 17 18]]
The shape of the array is:  (2, 4)

The example above returns (2, 4), which means that an array has two dimensions, and each dimension has four elements.

Create an array with ndmin = 5 in Numpy

Create the array with 5 dimensions using ndmin using the vector with values 1,2,3,4 and verify that the last dimension has value 4. See the following code.

# app.py

import numpy as np

data = np.array([11, 21, 31, 41], ndmin=5)
print(data)
print("The shape of the array is: ", data.shape)

Output

python3 app.py
[[[[[11 21 31 41]]]]]
The shape of the array is:  (1, 1, 1, 1, 4)

Integers at every index tell about the number of items the corresponding dimension has.

In the above example at index-4, we have value 4, so we can say that the 5th ( 4 + 1st) dimension has 4 elements.

Find the np shape of np.zeros()

The numpy.zeros() function returns the new array of given shape and type, filled with zeros.

See the following code.

# app.py

import numpy as np

data = np.zeros((1, 2))
print(data)
print("The shape of the array is: ", data.shape)

Output

python3 app.py
[[0. 0.]]
The shape of the array is:  (1, 2)

ValueError: total size of the new array must be unchanged

If you try to change the size of the array-like assign new dimensions to the array, it won’t be changed. If you try to do so, it will give is the ValueError: the total size of the new array must be unchanged.

Conclusion

Numpy array is the table of items (usually numbers), all of the same type, indexed by a tuple of positive integers. In Numpy, several dimensions of the array are called the rank of the array.

A tuple of integers giving the size of the array along each dimension is known as the shape of the array.

We can find a dimension or shape of an array using the np shape function. We can reset the dimension of an array using the np reshape() function.

See also

Numpy eye()

Numpy floor()

Numpy ceil()

1 Comment
  1. Gary says

    In the section “Find the shape of Two-dimensional array in Numpy” the output is

    python3 app.py
    [[11 21 31 41]
    [15 16 17 18]]
    The shape of the array is: (2, 4)

    And it says
    “The example above returns (2, 4), which means that an array has two dimensions, and each dimension has four elements.”

    But doesn’t shape return the number of elements in each dimension of the array, not the array dimensions? In this case the number of elements in the first dimension happens to equal the number of dimensions. ndim would give the number of dimensions of the array.

Leave A Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.