Module pipelines.rj_cor.meteorologia.precipitacao_alertario.utils
Utils for precipitacao_alertario
Functions
def parse_date_columns(dataframe: pandas.core.frame.DataFrame, partition_date_column: str) ‑> Tuple[pandas.core.frame.DataFrame, List[str]]
-
Expand source code
def parse_date_columns( dataframe: pd.DataFrame, partition_date_column: str ) -> Tuple[pd.DataFrame, List[str]]: """ Parses the date columns to the partition format. Reformatado para manter o formato utilizado quando os dados foram salvos pela primeira vez (ano, mes, dia). """ ano_col = "ano" mes_col = "mes" data_col = "dia" cols = [ano_col, mes_col, data_col] for col in cols: if col in dataframe.columns: raise ValueError(f"Column {col} already exists, please review your model.") dataframe[partition_date_column] = dataframe[partition_date_column].astype(str) dataframe[data_col] = pd.to_datetime( dataframe[partition_date_column], errors="coerce" ) dataframe[ano_col] = ( dataframe[data_col] .dt.year.fillna(-1) .astype(int) .astype(str) .replace("-1", np.nan) ) dataframe[mes_col] = ( dataframe[data_col] .dt.month.fillna(-1) .astype(int) .astype(str) .replace("-1", np.nan) ) dataframe[data_col] = ( dataframe[data_col] .dt.day.fillna(-1) .astype(int) .astype(str) .replace("-1", np.nan) ) return dataframe, [ano_col, mes_col, data_col]
Parses the date columns to the partition format. Reformatado para manter o formato utilizado quando os dados foram salvos pela primeira vez (ano, mes, dia).
def parse_date_columns_old_api(dataframe: pandas.core.frame.DataFrame, partition_date_column: str) ‑> Tuple[pandas.core.frame.DataFrame, List[str]]
-
Expand source code
def parse_date_columns_old_api( dataframe: pd.DataFrame, partition_date_column: str ) -> Tuple[pd.DataFrame, List[str]]: """ Parses the date columns to the partition format. Reformatado para manter o formato utilizado quando os dados foram salvos pela primeira vez (ano, mes, dia). """ ano_col = "ano" mes_col = "mes" data_col = "dia" cols = [ano_col, mes_col, data_col] for col in cols: if col in dataframe.columns: raise ValueError(f"Column {col} already exists, please review your model.") dataframe[partition_date_column] = dataframe[partition_date_column].astype(str) dataframe[data_col] = pd.to_datetime( dataframe[partition_date_column], errors="coerce" ) dataframe[ano_col] = ( dataframe[data_col] .dt.year.fillna(-1) .astype(int) .astype(str) .replace("-1", np.nan) ) dataframe[mes_col] = ( dataframe[data_col] .dt.month.fillna(-1) .astype(int) .astype(str) .replace("-1", np.nan) ) dataframe[data_col] = ( dataframe[data_col] .dt.day.fillna(-1) .astype(int) .astype(str) .replace("-1", np.nan) ) return dataframe, [ano_col, mes_col, data_col]
Parses the date columns to the partition format. Reformatado para manter o formato utilizado quando os dados foram salvos pela primeira vez (ano, mes, dia).
def treat_date_col(row)
-
Expand source code
def treat_date_col(row): """ Add zero hour if date cames without it """ if len(row) == 10: row = row + " 00:00:00" return row
Add zero hour if date cames without it