Best Python code snippet using pandera_python
dtypes.py
Source:dtypes.py  
...270###############################################################################271# decimal272###############################################################################273DEFAULT_PYTHON_PREC = 28274def _scale_to_exp(scale: int) -> decimal.Decimal:275    scale_fmt = format(10**-scale, f".{scale}f")276    return decimal.Decimal(scale_fmt)277@immutable(init=True)278class Decimal(_Number):279    """Semantic representation of a decimal data type."""280    exact: bool = dataclasses.field(init=False, default=True)281    continuous: bool = dataclasses.field(init=False, default=True)282    precision: int = DEFAULT_PYTHON_PREC283    """The number of significant digits that the decimal type can represent."""284    scale: int = 0  # default 0 is aligned with pyarrow and various databases.285    """The number of digits after the decimal point."""286    # pylint: disable=line-too-long287    rounding: str = dataclasses.field(288        default_factory=lambda: decimal.getcontext().rounding289    )290    """291    The `rounding mode <https://docs.python.org/3/library/decimal.html#rounding-modes>`__292    supported by the Python :py:class:`decimal.Decimal` class.293    """294    def __init__(295        self,296        precision: int = DEFAULT_PYTHON_PREC,297        scale: int = 0,298        rounding: Optional[str] = None,299    ):300        super().__init__()301        if precision <= 0:302            raise ValueError(303                f"Decimal precision {precision} must be positive."304            )305        if scale is not None and scale > precision:306            raise ValueError(307                f"Decimal scale {scale} must be between 0 and {precision}."308            )309        object.__setattr__(self, "precision", precision)310        object.__setattr__(self, "scale", scale)311        object.__setattr__(self, "rounding", rounding)312        object.__setattr__(313            self, "_exp", _scale_to_exp(scale) if scale else None314        )315        object.__setattr__(316            self,317            "_ctx",318            decimal.Context(prec=precision, rounding=self.rounding),319        )320    def __str__(self) -> str:321        return f"{self.__class__.__name__}({self.precision}, {self.scale})"322###############################################################################323# nominal324###############################################################################325@immutable(init=True)326class Category(DataType):  # type: ignore327    """Semantic representation of a categorical data type."""...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!!
