ma.empty_like(prototype, dtype=None, order='K', subok=True, shape=None, *, device=None) = < object>#

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


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

dtypedata-type, optional

Overrides the data type of the result.

New in version 1.6.0.

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.

New in version 1.6.0.

subokbool, 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.

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

New in version 1.17.0.

devicestr, 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.


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

See also


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


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


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


Return a new uninitialized array.


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.


>>> 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], # uninit
       [  4.38791518e-305,  -2.00000715e+000,   4.17269252e-309]])