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

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.


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.


This function does not initialize the returned array; to do that use zeros_like or ones_like instead. It may be marginally faster than the functions that do set the array values.


>>> 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]])