pandera.api.dataframe.components.ComponentSchema

class pandera.api.dataframe.components.ComponentSchema(dtype=None, checks=None, parsers=None, nullable=False, unique=False, report_duplicates='all', coerce=False, name=None, title=None, description=None, default=None, metadata=None, drop_invalid_rows=False)[source]

数据容器组件的基类,例如:列。

初始化数组架构。

Parameters:
  • dtype (可选[任何, ]) – 列的数据类型。

  • 检查 (联合[检查, 列表[联合[检查, 假设]], ]) –

    如果 element_wise 为 True,则可调用的签名应为:

    Callable[Any, bool] 其中 Any 输入为列中的标量元素。否则,输入被假定为数据对象(Series,DataFrame)。

  • nullable (bool) – 列是否可以包含空值。

  • unique (bool) – 列是否可以包含重复值。

  • report_duplicates (Union[Literal[‘exclude_first’], Literal[‘exclude_last’], Literal[‘all’]]) – 如何报告唯一错误 - exclude_first: 报告除第一个出现外的所有重复项 - exclude_last: 报告除最后一个出现外的所有重复项 - all: (默认)报告所有重复项

  • 强制转换 (bool) – 如果为真,当调用 schema.validate 时,该列将被强制转换为指定的数据类型。这对 dtype=None 的列没有影响。

  • name (Any) – 要验证的 dataframe 中的列名。

  • 标题 (可选[字符串, ]) – 系列的人类可读标签。

  • 描述 (可选[字符串, ]) – 一系列的任意文本描述。

  • 元数据 (可选[字典, ]) – 一个可选的键值数据。

  • 默认 (可选[任何, ]) – 系列中缺失值的默认值。

  • drop_invalid_rows (bool) – 如果为 True,将在验证时删除无效行。

属性

BACKEND_REGISTRY

properties

获取用于序列化的架构属性。

方法

__init__(dtype=None, checks=None, parsers=None, nullable=False, unique=False, report_duplicates='all', coerce=False, name=None, title=None, description=None, default=None, metadata=None, drop_invalid_rows=False)[source]

初始化数组架构。

Parameters:
  • dtype (可选[任何, ]) – 列的数据类型。

  • 检查 (并集[检查, 列表[并集[检查, 假设]], ]) –

    如果 element_wise 为 True,则可调用的签名应该是:

    可调用[Any, 布尔值] 其中 Any 输入是列中的一个标量元素。否则,输入被假定为数据对象(系列,数据框)。

  • nullable (bool) – 列是否可以包含空值。

  • unique (bool) – 列是否可以包含重复值。

  • report_duplicates (Union[Literal[‘exclude_first’], Literal[‘exclude_last’], Literal[‘all’]]) – 如何报告唯一错误 - exclude_first: 报告除第一个出现外的所有重复项 - exclude_last: 报告除最后一个出现外的所有重复项 - all: (默认)报告所有重复项

  • 强制转换 (bool) – 如果为 True,当调用 schema.validate 时,列将被强制转换为指定的数据类型。这对列没有影响,其中 dtype=None

  • name (Any) – 要验证的 dataframe 中的列名。

  • 标题 (可选[字符串, ]) – 一个可供人类阅读的系列标签。

  • 描述 (可选[str, None]) – 一个任意的文本描述系列。

  • 元数据 (可选[字典, ]) – 一个可选的键值数据。

  • 默认 (可选[任何, ]) – 系列中缺失值的默认值。

  • drop_invalid_rows (bool) – 如果为 True,将在验证时删除无效行。

coerce_dtype(check_obj)[source]

通过dtype中指定的类型强制转换数据类型。

Parameters:

check_obj (~TDataObject) – 要强制转换的数据

Return type:

~T数据对象

Returns:

与输入相同类型的数据

set_checks(checks)[source]

使用一组新的检查创建一个新的 SeriesSchema

注意

该方法将在 v0.15.0 中被弃用,以支持 update_checks

Parameters:

检查 (Union[检查, 列表[Union[检查, 假设]]]) – 在新模式上设置的检查

Returns:

一个新的SeriesSchema,具有一组新的检查

update_checks(checks)[source]

创建一个新的 SeriesSchema 并指定一组新的检查规则

Parameters:

检查 (Union[Check, List[Union[Check, Hypothesis]]]) – 检查以设置新模式

Returns:

具有新一组检查的新 SeriesSchema

validate(check_obj, head=None, tail=None, sample=None, random_state=None, lazy=False, inplace=False)[source]

验证数据框中的一系列或特定列。

Check_obj:

要验证的数据对象。

Parameters:
  • head (可选[int, None]) – 验证前 n 行。与 tailsample 重叠的行会被去重。

  • tail (可选[整型, ]) – 验证最后 n 行。与 headsample 重叠的行将被去重。

  • 示例 (可选[int, None]) – 验证 n 行的随机样本。与 头部尾部 交叠的行会被去重。

  • random_state (可选[int, ]) – sample 参数的随机种子。

  • 懒惰 (bool) – 如果为 True,懒惰地对数据框进行所有验证检查,并引发一个 SchemaErrors。否则,立即抛出第一个出现的 SchemaError

  • inplace (bool) – 如果为 True,则对验证对象应用强制转换,否则创建数据的副本。

Returns:

经过验证的数据框或系列。

__call__(check_obj, head=None, tail=None, sample=None, random_state=None, lazy=False, inplace=False)[source]

validate方法的别名。

Return type:

~T数据对象