check_1D_str_sequence#

pybear.base.check_1D_str_sequence(X, require_all_finite=False)#

Validate things that are expected to be 1D sequences of strings.

Accepts 1D Python built-ins, numpy arrays, pandas series, and polars series. When require_all_finite is True, every element in the sequence must be an instance of str; a ValueError will be raised if there are any nan-like or infinity-like values. If require_all_finite is False, non-finite values are ignored and only the finite values must be an instance of str. If all checks pass then None is returned.

Parameters:
XXContainer[str] of shape (n_samples, )

Something that is expected to be a 1D sequence of strings.

require_all_finitebool, default=False

If True, disallow all non-finite values, such as nan-like or infinity-like values.

Returns:
None
Raises:
TypeError:

For invalid container.

ValueError:

For non-finite values when require_all_finite is True.

Notes

Type Aliases

Python1DTypes:

list | tuple | set

Numpy1DTypes:

numpy.ndarray

Pandas1DTypes:

pandas.Series

Polars1DTypes:

polars.Series

XContainer:

Python1DTypes | Numpy1DTypes | Pandas1DTypes | Polars1DTypes

Examples

>>> from pybear.base import check_1D_str_sequence
>>> X = ['a', 'b', 'c', 'nan', 'd']
>>> check_1D_str_sequence(X, require_all_finite=False)
>>> try:
...     check_1D_str_sequence(X, require_all_finite=True)
... except ValueError as e:
...     print(e)
Got non-finite values when not allowed.