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