pandera.api.pandas.array.SeriesSchema

class pandera.api.pandas.array.SeriesSchema(dtype=None, checks=None, parsers=None, index=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]

一个 pandas Series 验证器。

初始化系列架构基础对象。

Parameters:
  • dtype (Union[str, type, DataType, Type, ExtensionDtype, dtype, None]) – 列的数据类型。如果指定了字符串,则假定为有效的 pandas 字符串值之一:http://pandas.pydata.org/pandas-docs/stable/basics.html#dtypes

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

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

    可调用的[Any, 布尔值] 其中 Any 输入为列中的标量元素。否则,输入被假定为 pandas.Series 对象。

  • 索引 – 指定索引的数据类型和属性。

  • 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 (可选[str, None]) – 系列名称。

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

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

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

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

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

属性

BACKEND_REGISTRY

dtype

获取pandas的数据类型

properties

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

方法

__init__(dtype=None, checks=None, parsers=None, index=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 (Union[str, type, DataType, Type, ExtensionDtype, dtype, None]) – 列的数据类型。如果指定了一个字符串,则假定为有效的 pandas 字符串值之一: http://pandas.pydata.org/pandas-docs/stable/basics.html#dtypes

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

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

    可调用的[Any, 布尔值],其中 Any 输入是列中的标量元素。否则,输入被假定为 pandas.Series 对象。

  • 索引 – 指定索引的数据类型和属性。

  • 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

  • 名称 (可选[字符串, ]) – 系列名称。

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

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

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

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

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

example(size=None)[source]

生成特定大小的示例。

Parameters:

size – 生成的序列中的元素数量。

Return type:

Series

Returns:

pandas系列对象。

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

验证一个系列对象。

Parameters:
  • check_obj (Series) – 一维 ndarray 带有轴标签(包括时间序列)。

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

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

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

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

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

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

Return type:

Series

Returns:

验证过的系列。

Raises:

SchemaError – 当 DataFrame 违反内置或自定义检查时。

Example:

>>> import pandas as pd
>>> import pandera as pa
>>>
>>> series_schema = pa.SeriesSchema(
...     float, [
...         pa.Check(lambda s: s > 0),
...         pa.Check(lambda s: s < 1000),
...         pa.Check(lambda s: s.mean() > 300),
...     ])
>>> series = pd.Series([1, 100, 800, 900, 999], dtype=float)
>>> print(series_schema.validate(series))
0      1.0
1    100.0
2    800.0
3    900.0
4    999.0
dtype: float64
__call__(check_obj, head=None, tail=None, sample=None, random_state=None, lazy=False, inplace=False)[source]

validate方法的别名。

Return type:

~T数据对象