check_is_scitype#
- check_is_scitype(obj, scitype: str | list[str], return_metadata=False, var_name='obj', exclude_mtypes=['numpyflat', 'alignment_loc'])[源代码][源代码]#
检查对象是否符合科学类型规范,返回元数据。
- 参数:
- obj - 要检查的对象
- scitype: str 或 list of str, 要检查 obj 的 scitype
有效的 mtype 字符串位于 datatypes.SCITYPE_REGISTER 中
- return_metadata - bool, 可选, 默认=False
如果为 False,仅返回“有效”的返回值;如果为 True,返回所有三个返回对象;如果为字符串或字符串列表,元数据返回字典仅限于 return_metadata 中的键。
- var_name: str, 可选, 默认=”obj” - 错误信息中的输入名称
- exclude_mtypeslist of str, 默认 = AMBIGUOUS_MTYPES
在推断mtype时忽略哪些mtypes,默认 = 模糊的那些
- 返回:
- valid: bool - obj 是否是 mtype/scitype 的有效对象
- msg: dict[str, str] 或 None
如果对象无效,则返回错误消息,否则返回 None。键是所有测试的 mtypes,键的值是该键的错误消息。
- metadata: dict - 如果有效,则为关于 obj 的元数据,否则为 None
仅当 return_metadata 为 True 时返回
字段取决于 scitpe。始终返回:
- “mtype”: str, 对象的mtype(假设或推断)
带有解释的 mtype 字符串位于 datatypes.MTYPE_REGISTER
- “scitype”: str, 对象的scitype(假设或推断)
带有解释的科学类型字符串位于 datatypes.SCITYPE_REGISTER 中
- 对于 scitype “Series”:
“is_univariate”: bool, 如果序列只有一个变量则为True “is_equally_spaced”: bool, 如果序列索引等间隔则为True “is_empty”: bool, 如果序列没有变量或没有实例则为True “has_nans”: bool, 如果序列包含NaN值则为True
- 对于 scitype “Panel”:
“is_univariate”: bool, 当且仅当面板中的所有序列只有一个变量时为True “is_equally_spaced”: bool, 当且仅当所有序列的索引间隔相等时为True “is_equal_length”: bool, 当且仅当面板中的所有序列长度相等时为True “is_empty”: bool, 当且仅当面板中的一个或多个序列为空时为True “is_one_series”: bool, 当且仅当面板中只有一个序列时为True “has_nans”: bool, 当且仅当面板包含NaN值时为True “n_instances”: int, 面板中的实例数量
- 对于 scitype “Table”:
“is_univariate”: bool, True 当且仅当表格只有一个变量 “is_empty”: bool, True 当且仅当表格没有变量或没有实例 “has_nans”: bool, True 当且仅当面板包含 NaN 值
- 对于 scitype “Alignment”:
目前没有
- 引发:
- 如果 scitype 输入参数的类型不符合预期,则抛出 TypeError