check_is_mtype#
- check_is_mtype(obj, mtype: Union[str, List[str]], scitype: Optional[str] = None, return_metadata=False, var_name='obj')[source]#
Check object for compliance with mtype specification, return metadata.
- Parameters:
- obj - object to check
- mtype: str or list of str, mtype to check obj as
valid mtype strings are in datatypes.MTYPE_REGISTER (1st column)
- scitype: str, optional, scitype to check obj as; default = inferred from mtype
if inferred from mtype, list elements of mtype need not have same scitype valid mtype strings are in datatypes.SCITYPE_REGISTER (1st column)
- return_metadata - bool, optional, default=False
if False, returns only “valid” return if True, returns all three return objects
- var_name: str, optional, default=”obj” - name of input in error messages
- Returns:
- valid: bool - whether obj is a valid object of mtype/scitype
- msg: str or list of str - error messages if object is not valid, otherwise None
str if mtype is str; list of len(mtype) with message per mtype if list returned only if return_metadata is True
- metadata: dict - metadata about obj if valid, otherwise None
returned only if return_metadata is True
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 of the 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”:
currently none
- Raises:
- TypeError if no checks defined for mtype/scitype combination
- TypeError if mtype input argument is not of expected type