Skip to main content
`Ctrl`+`K`

# numpy.ma.masked_array.shape

property

property ma.masked_array.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.

  See also

  `numpy.shape`

    Equivalent getter function.

  `numpy.reshape`

    Function similar to setting `shape`.

  `ndarray.reshape`

    Method similar to setting `shape`.

  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 "<stdin>", line 1, in <module>
      ValueError: cannot reshape array of size 24 into shape (3,6)
      >>> np.zeros((4,2))[::2].shape = (-1,)
      Traceback (most recent call last):
        File "<stdin>", line 1, in <module>
      AttributeError: Incompatible shape for in-place modification. Use
      `.reshape()` to make a copy with the desired shape.