Caution

You're reading an old version of this documentation. If you want up-to-date information, please have a look at 0.10.1.

librosa.util.expand_to

librosa.util.expand_to(x, *, ndim, axes)[source]

Expand the dimensions of an input array with

Parameters:
xnp.ndarray

The input array

ndimint

The number of dimensions to expand to. Must be at least x.ndim

axesint or slice

The target axis or axes to preserve from x. All other axes will have length 1.

Returns:
x_expnp.ndarray
The expanded version of x, satisfying the following:

x_exp[axes] == x x_exp.ndim == ndim

See also

np.expand_dims

Examples

Expand a 1d array into an (n, 1) shape

>>> x = np.arange(3)
>>> librosa.util.expand_to(x, ndim=2, axes=0)
array([[0],
   [1],
   [2]])

Expand a 1d array into a (1, n) shape

>>> librosa.util.expand_to(x, ndim=2, axes=1)
array([[0, 1, 2]])

Expand a 2d array into (1, n, m, 1) shape

>>> x = np.vander(np.arange(3))
>>> librosa.util.expand_to(x, ndim=4, axes=[1,2]).shape
(1, 3, 3, 1)