@property
def df(self) -> pd.DataFrame:
    if (self._df is None):
        self.update()
    return self._df
@property
def df(self) -> pd.DataFrame:
    if (self._df is None):
        self.update()
    return self._df