Source code for tempor.models.clairvoyance2.data.has_missing_mixin

# mypy: ignore-errors

from typing import Union

import numpy as np
import pandas as pd

from ..utils.common import isnan
from ..utils.dev import raise_not_implemented

TMissingIndicator = Union[float]  # pyright: ignore


# TODO: Unit test.
[docs]class HasMissingMixin: def __init__(self, missing_indicator: TMissingIndicator = np.nan) -> None: self._data: pd.DataFrame self.missing_indicator = missing_indicator if not isnan(self.missing_indicator): raise_not_implemented("Non-nan missing indicators") @property def has_missing(self) -> bool: return bool(self._data.isnull().sum().sum() > 0) # numpy.bool_ --> bool