dpnp.resize

dpnp.resize(a, new_shape)[source]

Return a new array with the specified shape.

If the new array is larger than the original array, then the new array is filled with repeated copies of a. Note that this behavior is different from a.resize(new_shape) which fills with zeros instead of repeated copies of a.

For full documentation refer to numpy.resize.

Parameters:
  • a ({dpnp.ndarray, usm_ndarray}) -- Array to be resized.

  • new_shape ({int, tuple or list of ints}) -- Shape of resized array.

Returns:

out -- The new array is formed from the data in the old array, repeated if necessary to fill out the required number of elements. The data are repeated iterating over the array in C-order.

Return type:

dpnp.ndarray

See also

dpnp.ndarray.resize

Resize an array in-place.

dpnp.reshape

Reshape an array without changing the total size.

dpnp.pad

Enlarge and pad an array.

dpnp.repeat

Repeat elements of an array.

Notes

When the total size of the array does not change dpnp.reshape should be used. In most other cases either indexing (to reduce the size) or padding (to increase the size) may be a more appropriate solution.

Warning: This functionality does not consider axes separately, i.e. it does not apply interpolation/extrapolation. It fills the return array with the required number of elements, iterating over a in C-order, disregarding axes (and cycling back from the start if the new shape is larger). This functionality is therefore not suitable to resize images, or data where each axis represents a separate and distinct entity.

Examples

>>> import dpnp as np
>>> a = np.array([[0, 1], [2, 3]])
>>> np.resize(a, (2, 3))
array([[0, 1, 2],
       [3, 0, 1]])
>>> np.resize(a, (1, 4))
array([[0, 1, 2, 3]])
>>> np.resize(a, (2, 4))
array([[0, 1, 2, 3],
       [0, 1, 2, 3]])