ensure_2D#

pybear.base.ensure_2D(X, copy_X=True)#

Ensure that X has 2-dimensional shape, i.e., len(X.shape) == 2.

If X is a 1D vector, assume the vector is a single feature of samples, not a single sample of features. X must have a ‘shape’ attribute. The only time copy_X matters is if copy_X is True and X is 1-dimensional. This module does not accept Python builtin iterables like list, set, and tuple.

Parameters:
Xarray_like of shape (n_samples, n_features) or (n_samples,)

The data to be put into a 2-dimensional container.

copybool

Whether to copy X or operate directly on the passed X.

Returns:
Xarray_like of shape (n_samples, n_features)

The data in a 2-dimensional container.

Notes

Type Aliases

NumpyTypes:

numpy.ndarray | numpy.ma.MaskedArray

PandasTypes:

pandas.Series | pandas.DataFrame

PolarsTypes:

polars.Series | polars.DataFrame

ScipySparseTypes:

ss.csc_matrix | ss.csc_array | ss.csr_matrix | ss.csr_array | ss.coo_matrix | ss.coo_array | ss.dia_matrix | ss.dia_array | ss.lil_matrix | ss.lil_array | ss.bsr_matrix | ss.bsr_array

XContainer:

NumpyTypes | PandasTypes | PolarsTypes | ScipySparseTypes

Examples

>>> from pybear.base import ensure_2D
>>> import numpy as np
>>> X = np.array([1, 2, 3, 4, 5], dtype=np.int8)
>>> out = ensure_2D(X, copy_X=True)
>>> print(out)
[[1]
 [2]
 [3]
 [4]
 [5]]