Python_scripts/5_GEONATURE/IMPORTS/manip_data_negria_oxalis.py
2026-07-21 11:34:07 +02:00

61 lines
2.6 KiB
Python

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'))