Best Python code snippet using pandera_python
io.py
Source:io.py  
...118        "coerce": dataframe_schema.coerce,119        "strict": dataframe_schema.strict,120        "unique": dataframe_schema.unique,121    }122def _deserialize_check_stats(check, serialized_check_stats, dtype=None):123    def handle_stat_dtype(stat):124        try:125            if pandas_engine.Engine.dtype(dtypes.DateTime).check(dtype):126                return pd.to_datetime(stat, format=DATETIME_FORMAT)127            elif pandas_engine.Engine.dtype(dtypes.Timedelta).check(dtype):128                # serialize to int in nanoseconds129                return pd.to_timedelta(stat, unit="ns")130        except (TypeError, ValueError):131            return stat132        return stat133    if isinstance(serialized_check_stats, dict):134        # handle case where serialized check stats are in the form of a135        # dictionary mapping Check arg names to values.136        check_stats = {}137        for arg, stat in serialized_check_stats.items():138            check_stats[arg] = handle_stat_dtype(stat)139        return check(**check_stats)140    # otherwise assume unary check function signature141    return check(handle_stat_dtype(serialized_check_stats))142def _deserialize_component_stats(serialized_component_stats):143    dtype = serialized_component_stats.get("dtype")144    if dtype:145        dtype = pandas_engine.Engine.dtype(dtype)146    checks = serialized_component_stats.get("checks")147    if checks is not None:148        checks = [149            _deserialize_check_stats(150                getattr(Check, check_name), check_stats, dtype151            )152            for check_name, check_stats in checks.items()153        ]154    return {155        "dtype": dtype,156        "checks": checks,157        **{158            key: serialized_component_stats.get(key)159            for key in [160                "name",161                "nullable",162                "unique",163                # deserialize allow_duplicates property for backwards164                # compatibility. Remove this for 0.8.0 release165                "allow_duplicates",166                "coerce",167                "required",168                "regex",169            ]170            if key in serialized_component_stats171        },172    }173def _deserialize_schema(serialized_schema):174    # pylint: disable=import-outside-toplevel175    from pandera import Index, MultiIndex176    # GH#475177    serialized_schema = serialized_schema if serialized_schema else {}178    if not isinstance(serialized_schema, Mapping):179        raise pandera.errors.SchemaDefinitionError(180            "Schema representation must be a mapping."181        )182    columns = serialized_schema.get("columns")183    index = serialized_schema.get("index")184    checks = serialized_schema.get("checks")185    if columns is not None:186        columns = {187            col_name: Column(**_deserialize_component_stats(column_stats))188            for col_name, column_stats in columns.items()189        }190    if index is not None:191        index = [192            _deserialize_component_stats(index_component)193            for index_component in index194        ]195    if checks is not None:196        # handles unregistered checks by raising AttributeErrors from getattr197        checks = [198            _deserialize_check_stats(getattr(Check, check_name), check_stats)199            for check_name, check_stats in checks.items()200        ]201    if index is None:202        pass203    elif len(index) == 1:204        index = Index(**index[0])205    else:206        index = MultiIndex(207            indexes=[Index(**index_properties) for index_properties in index]208        )209    return DataFrameSchema(210        columns=columns,211        checks=checks,212        index=index,...Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!
