pandera.schema_components.MultiIndex#
- class pandera.schema_components.MultiIndex(indexes, coerce=False, strict=False, name=None, ordered=True, unique=None, report_duplicates='all')[source]#
Validate types and properties of a DataFrame MultiIndex.
This class inherits from
DataFrameSchema
to leverage its validation logic.Create MultiIndex validator.
- Parameters
indexes (
List
[Index
]) – list of Index validators for each level of the MultiIndex index.coerce (
bool
) – Whether or not to coerce the MultiIndex to the specified dtypes before validationstrict (
Union
[bool
,Literal
[‘filter’]]) – whether or not to accept columns in the MultiIndex that aren’t defined in theindexes
argument.ordered (
bool
) – whether or not to validate the indexes order.unique (
Union
[str
,List
[str
],None
]) – a list of index names that should be jointly unique.
- Example
>>> import pandas as pd >>> import pandera as pa >>> >>> >>> schema = pa.DataFrameSchema( ... columns={"column": pa.Column(int)}, ... index=pa.MultiIndex([ ... pa.Index(str, ... pa.Check(lambda s: s.isin(["foo", "bar"])), ... name="index0"), ... pa.Index(int, name="index1"), ... ]) ... ) >>> >>> df = pd.DataFrame( ... data={"column": [1, 2, 3]}, ... index=pd.MultiIndex.from_arrays( ... [["foo", "bar", "foo"], [0, 1, 2]], ... names=["index0", "index1"], ... ) ... ) >>> >>> schema.validate(df) column index0 index1 foo 0 1 bar 1 2 foo 2 3
See here for more usage details.
Attributes
coerce
Whether or not to coerce data types.
description
An arbitrary textual description of the schema.
dtype
Get the dtype property.
dtypes
A dict where the keys are column names and values are
DataType
s for the column.names
Get index names in the MultiIndex schema component.
ordered
Whether or not to validate the columns order.
title
A human-readable label for the schema.
unique
List of columns that should be jointly unique.
unique_column_names
Whether multiple columns with the same name can be present.
Methods
Create MultiIndex validator.
Coerce type of a pd.Series by type specified in dtype.
Generate an example of a particular size.
Create a
hypothesis
strategy for generating a DataFrame.Validate DataFrame or Series MultiIndex.
Alias for
DataFrameSchema.validate()
method.