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。drop_invalid_rows (
bool) – 如果为 True,将在验证时删除无效行。
属性
BACKEND_REGISTRYdtype获取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。drop_invalid_rows (
bool) – 如果为 True,将在验证时删除无效行。
- example(size=None)[source]¶
生成特定大小的示例。
- Parameters:
size – 生成的序列中的元素数量。
- Return type:
- Returns:
pandas系列对象。
- validate(check_obj, head=None, tail=None, sample=None, random_state=None, lazy=False, inplace=False)[source]¶
验证一个系列对象。
- Parameters:
- Return type:
- 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