check_is_scitype#

check_is_scitype(obj, scitype, return_metadata=False, var_name='obj', exclude_mtypes=['numpyflat', 'alignment_loc'])[source]#

Check object for compliance with scitype specification, return metadata.

See glossary for explanations of :glossary:`mtype` and :glossary:`scitype`.

Parameters:
obj

object to check

scitype: str or list of str, scitype to check obj as

valid mtype strings are in datatypes.SCITYPE_REGISTER

return_metadata - bool, str, or list of str, optional, default=False
  • if False, returns only valid return. No metadata is returned.

  • if True, returns all three return objects. All metadata fields are returned.

  • if str, list of str, metadata return dict is subset to keys in

return_metadata. This allows selective return of metadata fields, to avoid unnecessary computation.

var_name: str, optional, default=”obj” - name of input in error messages
exclude_mtypeslist of str, default = AMBIGUOUS_MTYPES

which mtypes to ignore in inferring mtype, default = ambiguous ones

Returns:
valid: bool - whether obj is a valid object of mtype/scitype
msg: dict[str, str] or None

error messages if object is not valid, otherwise None. keys are all mtypes tested, value for key is error message for that key

metadata: dict - metadata about obj if valid, otherwise None

returned only if return_metadata is True or str, list of str

Keys populated depend on (assumed, otherwise identified) scitype of obj.

Always returned:

  • “mtype”: str, mtype of obj (assumed or inferred)

  • “scitype”: str, scitype of obj (assumed or inferred)

For scitype “Series”:

  • “is_univariate”: bool, True iff series has one variable

  • “is_equally_spaced”: bool, True iff series index is equally spaced

  • “is_empty”: bool, True iff series has no variables or no instances

  • “has_nans”: bool, True iff the series contains NaN values

For scitype “Panel”:

  • “is_univariate”: bool, True iff all series in panel have one variable

  • “is_equally_spaced”: bool, True iff all series indices are equally spaced

  • “is_equal_length”: bool, True iff all series in panel are of equal length

  • “is_empty”: bool, True iff one or more series in the panel are empty

  • “is_one_series”: bool, True iff there is only one series in the panel

  • “has_nans”: bool, True iff the panel contains NaN values

  • “n_instances”: int, number of instances in the panel

For scitype “Table”:

  • “is_univariate”: bool, True iff table has one variable

  • “is_empty”: bool, True iff table has no variables or no instances

  • “has_nans”: bool, True iff the panel contains NaN values

  • “n_instances”: int, number of instances/rows in the table

For scitype “Alignment”:

  • “is_multiple” : bool, True iff multiple alignment of (3 or more) series

Raises:
TypeError if scitype input argument is not of expected type