# numpy.chararray.shape

attribute

chararray.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

      >>> 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: total size of new array must be unchanged
      >>> 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.