diff --git a/scripts/history_stagging.py b/scripts/history_stagging.py index a3d7645..c1575a1 100644 --- a/scripts/history_stagging.py +++ b/scripts/history_stagging.py @@ -22,6 +22,12 @@ def extract_cat(cat: pd.DataFrame): return trans, cat_drop +def lot_naming(value): + if str(value).isnumeric(): + return str(value).zfill(2) + return "PC" + + def trans_2017_2021( dfs: list[pd.DataFrame], stagging_columns: list[str], **kwrds ) -> pd.DataFrame: @@ -35,7 +41,7 @@ def trans_2017_2021( Porte=df["porte"], Débit=df["Débit"].fillna(0), Crédit=df["Crédit"].fillna(0), - Lot=df["immeuble"].astype(str) + df["porte"].astype("str").str.zfill(2), + Lot=df["porte"].apply(lot_naming), Année=df["Date"].astype(str).str.slice(0, 4), Mois=df["Date"].astype(str).str.slice(5, 7), Catégorie=df["Categorie"].replace(cat_trans), @@ -54,7 +60,7 @@ def trans_2022_charge( Porte=df["lot"], Débit=df["Débits"].fillna(0), Crédit=df["Crédits"].fillna(0), - Lot=df["immeuble"].astype(str)[0] + df["lot"].astype("str").str.zfill(2), + Lot=df["lot"].apply(lot_naming), Année=df["annee"], Mois=df["mois"], Catégorie=df["Catégorie Charge"], @@ -75,7 +81,7 @@ def trans_2022_loc( Porte=df["lot"], Débit=0, Crédit=df["Réglés"].fillna(0), - Lot=df["immeuble"].astype(str)[0] + df["lot"].astype("str").str.zfill(2), + Lot=df["lot"].apply(lot_naming), Année=df["annee"], Mois=df["mois"], Catégorie="Loyer Charge", @@ -93,7 +99,7 @@ def trans_2023( df = df.assign( Débit=df["Débit"].fillna(0), Crédit=df["Crédit"].fillna(0), - Lot=df["Immeuble"].astype(str) + df["Porte"].astype("str").str.zfill(2), + Lot=lot_naming(df["Porte"]), Année=year, ) return df[stagging_columns] diff --git a/scripts/stagging_gold.py b/scripts/stagging_gold.py index 0886d04..d24c0c2 100644 --- a/scripts/stagging_gold.py +++ b/scripts/stagging_gold.py @@ -14,6 +14,7 @@ def feature_crg(dfs: list[pd.DataFrame]) -> pd.DataFrame: df = dfs[0] df = df.assign( Impact=df["Crédit"] - df["Débit"], + Lot=df["Immeuble"].astype(str) + df["Lot"].astype("str"), ) return df