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.