Column.__init__(dtype=None, checks=None, nullable=False, unique=False, allow_duplicates=None, coerce=False, required=True, name=None, regex=False, pandas_dtype=None)[source]

Create column validator object.

  • dtype (Union[str, type, DataType, ExtensionDtype, dtype, None]) – datatype of the column. A PandasDtype for type-checking dataframe. If a string is specified, then assumes one of the valid pandas string values:

  • checks (Union[Check, Hypothesis, List[Union[Check, Hypothesis]], None]) – checks to verify validity of the column

  • nullable (bool) – Whether or not column can contain null values.

  • unique (bool) – whether column values should be unique

  • allow_duplicates (Optional[bool]) –

    Whether or not column can contain duplicate values.


    This option will be deprecated in 0.8.0. Use the unique argument instead.

  • coerce (bool) – If True, when schema.validate is called the column will be coerced into the specified dtype. This has no effect on columns where pandas_dtype=None.

  • required (bool) – Whether or not column is allowed to be missing

  • name (Union[str, Tuple[str, …], None]) – column name in dataframe to validate.

  • regex (bool) – whether the name attribute should be treated as a regex pattern to apply to multiple columns in a dataframe.

  • pandas_dtype (Union[str, type, DataType, ExtensionDtype, dtype, None]) –

    alias of dtype for backwards compatibility.


    This option will be deprecated in 0.8.0


SchemaInitError – if impossible to build schema from parameters


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

See here for more usage details.