numpy.ndarray.shape — NumPy v2.3.dev0 Manual (original) (raw)
attribute
ndarray.shape#
Tuple of array dimensions.
The shape property is usually used to get the current shape of an array, but may also be used to reshape the array in-place by assigning a tuple of array dimensions to it. As with numpy.reshape, one of the new shape dimensions can be -1, in which case its value is inferred from the size of the array and the remaining dimensions. Reshaping an array in-place will fail if a copy is required.
Warning
Setting arr.shape
is discouraged and may be deprecated in the future. Using ndarray.reshape is the preferred approach.
Examples
import numpy as np x = np.array([1, 2, 3, 4]) x.shape (4,) y = np.zeros((2, 3, 4)) y.shape (2, 3, 4) y.shape = (3, 8) y array([[ 0., 0., 0., 0., 0., 0., 0., 0.], [ 0., 0., 0., 0., 0., 0., 0., 0.], [ 0., 0., 0., 0., 0., 0., 0., 0.]]) y.shape = (3, 6) Traceback (most recent call last): File "", line 1, in ValueError: cannot reshape array of size 24 into shape (3,6) np.zeros((4,2))[::2].shape = (-1,) Traceback (most recent call last): File "", line 1, in AttributeError: Incompatible shape for in-place modification. Use
.reshape()
to make a copy with the desired shape.