pandera.schema_components.MultiIndex¶
-
class
pandera.schema_components.
MultiIndex
(indexes, coerce=False, strict=False, name=None, ordered=True)[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 pandas_dtypes before validationstrict (
bool
) – 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.
- Example
>>> import pandas as pd >>> import pandera as pa >>> >>> >>> schema = pa.DataFrameSchema( ... columns={"column": pa.Column(pa.Int)}, ... index=pa.MultiIndex([ ... pa.Index(pa.String, ... pa.Check(lambda s: s.isin(["foo", "bar"])), ... name="index0"), ... pa.Index(pa.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.
dtype
A pandas style dtype dict where the keys are column names and values are pandas dtype for the column.
has_subcomponents
names
Get index names in the MultiIndex schema component.
ordered
Whether or not to validate the columns order.
pandas_dtype
Get the pandas dtype property.
pdtype
PandasDtype of the dataframe.
Methods
Create MultiIndex validator.
Coerce type of a pd.Series by type specified in pandas_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.