pandera.api.pandas.components.Column

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

验证pandas DataFrame列的类型和属性。

创建列验证器对象。

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

  • 检查 (Union[Check, List[Union[Check, Hypothesis]], None]) – 检查以验证列的有效性

  • 解析器 (Union[Parser, List[Parser], None]) – 用于验证列的有效性的解析器

  • 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

  • 必需 (bool) – 列是否允许缺失

  • name (Union[str, Tuple[str, …], None]) – 数据框中要验证的列名。

  • 正则表达式 (bool) – 是否将 name 属性视为需应用于数据框中多个列的正则表达式模式。

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

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

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

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

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

Raises:

SchemaInitError – 如果无法从参数构建架构

Example:

>>> import pandas as pd
>>> import pandera as pa
>>>
>>>
>>> schema = pa.DataFrameSchema({
...     "column": pa.Column(str)
... })
>>>
>>> schema.validate(pd.DataFrame({"column": ["foo", "bar"]}))
  column
0    foo
1    bar

请查看 这里 获取更多使用详情。

属性

BACKEND_REGISTRY

dtype

获取pandas的数据类型

properties

获取列属性。

方法

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

创建列验证器对象。

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

  • 检查 (Union[检查, 列表[Union[检查, 假设]], None]) – 检查以验证列的有效性

  • 解析器 (Union[Parser, List[Parser], None]) – 用于验证列的有效性的解析器

  • 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

  • 必需 (bool) – 列是否允许缺失

  • name (Union[str, Tuple[str, …], None]) – 数据框中要验证的列名。

  • 正则表达式 (bool) – 是否将 name 属性视为需应用于数据框中多个列的正则表达式模式。

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

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

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

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

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

Raises:

SchemaInitError – 如果无法从参数构建架构

Example:

>>> import pandas as pd
>>> import pandera as pa
>>>
>>>
>>> schema = pa.DataFrameSchema({
...     "column": pa.Column(str)
... })
>>>
>>> schema.validate(pd.DataFrame({"column": ["foo", "bar"]}))
  column
0    foo
1    bar

请查看 这里 获取更多使用详情。

example(size=None)[source]

生成特定大小的示例。

Parameters:

size – 生成的索引中的元素数量。

Return type:

DataFrame

Returns:

pandas 数据框对象。

get_regex_columns(check_obj)[source]

根据正则表达式列名称模式获取匹配的列名称。

Parameters:

columns – 要与正则表达式模式匹配的列

Return type:

Iterable

Returns:

匹配列

set_name(name)[source]

用于设置或修改列对象的名称。

Parameters:

name (str) – 列对象的名称

strategy(*, size=None)[source]

为生成一列创建一个 hypothesis 策略。

Parameters:

size – 生成的元素数量

Returns:

单列的数据框策略。

strategy_component()[source]

为DataFrame策略生成列数据对象。

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

validate方法的别名。

Return type:

~T数据对象