numpy.empty_like

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.
Parameters: 

prototype : array_like 
The shape and datatype of prototype define these same attributes of the returned array. 
dtype : datatype, optional 
Overrides the data type of the result. 
order : {‘C’, ‘F’, ‘A’, or ‘K’}, optional 
Overrides the memory layout of the result. ‘C’ means Corder, ‘F’ means Forder, ‘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 subclass type of ‘a’, otherwise it will be a baseclass 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. 
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
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.
Examples
>>> a = ([1,2,3], [4,5,6]) # a is arraylike
>>> 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.48219694e323, 2.00000572e+000], # uninitialized
[ 4.38791518e305, 2.00000715e+000, 4.17269252e309]])