Skip to main content
`Ctrl`+`K`

# numpy.empty_like

numpy.empty_like(prototype, /, dtype=None, order='K', subok=True, shape=None, *, device=None)

  Return a new array with the same shape and type as a given array.

  Parameters:
    prototype array_like

      The shape and data-type of prototype define these same attributes of the returned array.

    dtype data-type, optional

      Overrides the data type of the result.

    order{‘C’, ‘F’, ‘A’, or ‘K’}, optional

      Overrides the memory layout of the result. ‘C’ means C-order, ‘F’ means F-order, ‘A’ means ‘F’ if prototype is Fortran contiguous, ‘C’ otherwise. ‘K’ means match the layout of prototype as closely as possible.

    subok bool, optional.

      If True, then the newly created array will use the sub-class type of prototype, otherwise it will be a base-class array. Defaults to True.

    shape int or sequence of ints, optional.

      Overrides the shape of the result. If order=’K’ and the number of dimensions is unchanged, will try to keep order, otherwise, order=’C’ is implied.

    device str, optional

      The device on which to place the created array. Default: None. For Array-API interoperability only, so must be `"cpu"` if passed.

      New in version 2.0.0.

  Returns:
    out ndarray

      Array of uninitialized (arbitrary) data with the same shape and type as prototype.

  See also

  `ones_like`

    Return an array of ones with shape and type of input.

  `zeros_like`

    Return an array of zeros with shape and type of input.

  `full_like`

    Return a new array with shape of input filled with value.

  `empty`

    Return a new uninitialized array.

  Notes

  Unlike other array creation functions (e.g. `zeros_like`, `ones_like`, `full_like`), `empty_like` does not initialize the values of the array, and may therefore be marginally faster. However, the values stored in the newly allocated array are arbitrary. For reproducible behavior, be sure to set each element of the array before reading.

  Examples

      >>> import numpy as np
      >>> a = ([1,2,3], [4,5,6])                         # a is array-like
      >>> np.empty_like(a)
      array([[-1073741821, -1073741821,           3],    # uninitialized
             [          0,           0, -1073741821]])
      >>> a = np.array([[1., 2., 3.],[4.,5.,6.]])
      >>> np.empty_like(a)
      array([[ -2.00000715e+000,   1.48219694e-323,  -2.00000572e+000], # uninitialized
             [  4.38791518e-305,  -2.00000715e+000,   4.17269252e-309]])