pandera.api.pandas.components.Index

class pandera.api.pandas.components.Index(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]

Validate types and properties of a pandas DataFrame Index.

Initialize array schema.

Parameters:
  • dtype (Optional[Any]) – datatype of the column.

  • checks (Union[Check, list[Union[Check, Hypothesis]], None]) –

    If element_wise is True, then callable signature should be:

    Callable[Any, bool] where the Any input is a scalar element in the column. Otherwise, the input is assumed to be a the data object (Series, DataFrame).

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

  • unique (bool) – Whether or not column can contain duplicate values.

  • report_duplicates (Union[Literal[‘exclude_first’], Literal[‘exclude_last’], Literal[‘all’]]) – how to report unique errors - exclude_first: report all duplicates except first occurrence - exclude_last: report all duplicates except last occurrence - all: (default) report all duplicates

  • 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 dtype=None.

  • name (Any) – column name in dataframe to validate.

  • title (Optional[str]) – A human-readable label for the series.

  • description (Optional[str]) – An arbitrary textual description of the series.

  • metadata (Optional[dict]) – An optional key-value data.

  • default (Optional[Any]) – The default value for missing values in the series.

  • drop_invalid_rows (bool) – if True, drop invalid rows on validation.

Attributes

BACKEND_REGISTRY

dtype

Get the pandas dtype

names

Get index names in the Index schema component.

properties

Get the properties of the schema for serialization purposes.

Methods

example(size=None)[source]

Generate an example of a particular size.

Parameters:

size (Optional[int]) – number of elements in the generated Index.

Return type:

Index

Returns:

pandas Index object.

strategy(*, size=None)[source]

Create a hypothesis strategy for generating an Index.

Parameters:

size (Optional[int]) – number of elements to generate.

Returns:

index strategy.

strategy_component()[source]

Generate column data object for use by MultiIndex strategy.

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

Alias for validate method.

Return type:

~TDataObject