import pandas as pd from os import path from pycen import con_gn # PARAMS PATH = '/media/cgeier/SRV/FICHIERS/OUTILS/CARTOGRAPHIE/ESPACE DE TRAVAIL/SITES/Lone de la Negria/Faune-Flore/Données partenaires/1.Données nettoyées/Golf Club Lyon Faune Flore Oxalis 2021/' file = 'Golf Club Lyon Faune Flore Oxalis 2021.csv' # READ DATA tax = pd.read_sql('SELECT * FROM taxonomie.taxref',con_gn) df = pd.read_csv(path.join(PATH,file),index_col=0) # MAKE DICTIONARY dic_tax_comp = dict(zip(tax.nom_complet,tax.cd_ref.astype(str))) dic_tax_vali = dict(zip(tax.nom_valide,tax.cd_ref.astype(str))) dic_tax_lbno = dict(zip(tax.lb_nom,tax.cd_ref.astype(str))) dic_tax_vern = dict(zip(tax.nom_vern,tax.cd_ref.astype(str))) # MANIP DATA df['cd_ref'] = df.NOMCITE.copy() df.replace({'cd_ref':dic_tax_comp},inplace=True) df.replace({'cd_ref':dic_tax_vali},inplace=True) df.replace({'cd_ref':dic_tax_lbno},inplace=True) df.replace({'cd_ref':dic_tax_vern},inplace=True) df['tmp'] = df.COMMENT.str.lower().copy() df.tmp.replace({ 'â':'a', 'ê':'e' }, regex=True) df.loc[df.tmp.str.contains("mâle",na=False),'sexe'] = "Mâle" df.loc[df.tmp.str.contains("adulte",na=False),'stade_vie'] = "Adulte" df.loc[df.tmp.str.contains("imago",na=False),'stade_vie'] = "Imago" df.loc[df.tmp.str.contains("larve",na=False),'stade_vie'] = "Larve" df.loc[df.tmp.str.contains("tetard",na=False),'stade_vie'] = "Têtard" df.loc[df.tmp.str.contains("immature",na=False),'stade_vie'] = "Immature" df.loc[df.tmp.str.contains("flor",na=False),'stade_vie'] = "Fleur" df.loc[df.tmp.str.contains("cris",na=False),'comportement'] = "Cris" df.loc[df.tmp.str.contains("cht",na=False),'comportement'] = "Chant" df.loc[df.tmp.str.contains("chant",na=False),'comportement'] = "Chant" df.loc[df.tmp.str.contains("transit",na=False),'comportement'] = "Passage en vol" df.loc[df.tmp.str.contains("vol",na=False),'comportement'] = "Passage en vol" df.loc[df.tmp.str.contains("chasse",na=False),'comportement'] = "Chasse/alimentation" df.loc[df.tmp.str.contains("andem",na=False),'comportement'] = "Tandem" df.loc[df.tmp.str.contains("ponte",na=False),'obj_denombrement'] = "Ponte" df.sexe.fillna('Non renseigné', inplace=True) df.stade_vie.fillna('Inconnu', inplace=True) df.comportement.fillna('Inconnu', inplace=True) df.obj_denombrement.fillna('Individu', inplace=True) df['typ_denombre'] = 'Compté' df['etat_bio'] = 'Observé vivant' df['tech_obs'] = 'Vu' df['OBSE_NOMBR'] = df.OBSE_NOMBR.astype(int) df.loc[~df.PRECISGEO.isna(),'precisgeo'] = df[~df.PRECISGEO.isna()].PRECISGEO.astype(int).astype(str) del df['tmp'] df.to_csv(path.join(PATH,'Golf Club Lyon Faune Flore Oxalis 2021 (remanié).csv'))