In [11]:
import string
import pickle

import pandas as pd
import numpy as np

Load data


In [2]:
ROME_df = pd.read_csv('../referentiels/referentiel_ROME/20150921_arboprincipale28427_ROME.csv', index_col=0, sep='|', dtype=str)
OGR_df = pd.read_csv('../referentiels/referentiel_OGR/20150921_arboprincipale28427_OGR.csv', sep='|', dtype=str).set_index('OGR')
NAF_df = pd.read_csv('../referentiels/referentiel_NAF/naf2008_liste_n5_nouveau_header.csv', sep='|', encoding="utf-8").set_index(['NAF'])

In [3]:
with open('../array_ROME1_fusion.pickle', 'rb') as f:
    ROME1_fusion = pickle.load(f)

In [4]:
ROMExNAF = ROME1_fusion.sum(2)

In [5]:
with open('../array_offres_OGR.pickle', 'rb') as f:
    offres_OGR = pickle.load(f)

Seuillage


In [7]:
threshold = 10000

In [8]:
ROME_DPAE = ROMExNAF.sum(0)

In [17]:
ROMEs_to_chop_indexes = np.where(ROME_DPAE>threshold)[0]
ROMEs_to_chop = [ROME_df.index[ROME_index] for ROME_index in ROMEs_to_chop_indexes]

In [20]:
len(ROMEs_to_chop)


Out[20]:
128

In [44]:
for ROME in ROMEs_to_chop:
    print(ROME_df.loc[ROME].label)


Entretien des espaces verts
Horticulture et maraîchage
Polyculture, élevage
Accueil et services bancaires
Gestion de clientèle bancaire
Transaction immobilière
Boucherie
Boulangerie - viennoiserie
Pâtisserie, confiserie, chocolaterie et glacerie
Vente en alimentation
Coiffure
Soins esthétiques et corporels
Vente de végétaux
Vente en articles de sport et loisirs
Vente en décoration et équipement du foyer
Vente en habillement et accessoires de la personne
Management de magasin de détail
Assistanat commercial
Relation commerciale grands comptes et entreprises
Relation commerciale auprès de particuliers
Management en force de vente
Relation technico-commerciale
Téléconseil et télévente
Personnel de caisse
Mise en rayon libre-service
Communication
Journalisme et information média
Réalisation de contenus multimédias
Dessin BTP
Ingénierie et études du BTP
Conduite de travaux du BTP
Direction de chantier du BTP
Conduite d'engins de terrassement et de carrière
Électricité bâtiment
Installation d'équipements sanitaires et thermiques
Montage d'agencements
Peinture en bâtiment
Pose de fermetures menuisées
Pose de revêtements rigides
Pose et restauration de couvertures
Réalisation et restauration de façades
Construction en béton
Construction de routes et voies
Maçonnerie
Préparation du gros oeuvre et des travaux publics
Accueil touristique
Animation d'activités culturelles ou ludiques
Animation de loisirs auprès d'enfants ou d'adolescents
Éducation en activités sportives
Assistance de direction d'hôtel-restaurant
Management d'hôtel-restaurant
Personnel d'étage
Management du personnel de cuisine
Personnel de cuisine
Personnel polyvalent en restauration
Plonge en restauration
Réception en hôtellerie
Café, bar brasserie
Management du service en restauration
Service en restauration
Conception et dessin produits mécaniques
Management et ingénierie études, recherche et développement industriel
Management et ingénierie qualité industrielle
Intervention technique en laboratoire d'analyse industrielle
Conduite d'équipement de production alimentaire
Réalisation de menuiserie bois et tonnellerie
Management et ingénierie de production
Câblage électrique et électromécanique
Chaudronnerie - tôlerie
Conduite d'équipement d'usinage
Montage-assemblage mécanique
Soudage manuel
Conduite d'équipement de conditionnement
Opérations manuelles d'assemblage, tri ou emballage
Maintenance des bâtiments et des locaux
Installation et maintenance d'équipements industriels et d'exploitation
Installation et maintenance en froid, conditionnement d'air
Maintenance électrique
Maintenance informatique et bureautique
Mécanique automobile et entretien de véhicules
Réparation de carrosserie
Personnel polyvalent des services hospitaliers
Aide en puériculture
Conduite de véhicules sanitaires
Préparation en pharmacie
Soins d'hygiène, de confort du patient
Soins infirmiers généralistes
Action sociale
Intervention socioculturelle
Intervention socioéducative
Accompagnement médicosocial
Assistance auprès d'adultes
Assistance auprès d'enfants
Services domestiques
Conseil en emploi et insertion socioprofessionnelle
Développement local
Défense et conseil juridique
Éducation et surveillance au sein d'établissements d'enseignement
Enseignement général du second degré
Formation professionnelle
Nettoyage de locaux
Sécurité et surveillance privées
Musique et chant
Art dramatique
Production et administration spectacle, cinéma et audiovisuel
Comptabilité
Contrôle de gestion
Direction de petite ou moyenne entreprise
Assistanat en ressources humaines
Développement des ressources humaines
Accueil et renseignements
Opérations administratives
Assistanat de direction
Assistanat technique et administratif
Secrétariat
Secrétariat comptable
Secrétariat et assistanat médical ou médico-social
Marketing
Stratégie commerciale
Études et développement informatique
Conduite d'engins de déplacement des charges
Magasinage et préparation de commandes
Manutention manuelle de charges
Intervention technique d'exploitation logistique
Conduite de transport de marchandises sur longue distance
Conduite de transport de particuliers
Conduite de transport en commun sur route
Conduite et livraison par tournées sur courte distance

In [39]:
groups = {}
for ROME in ROMEs_to_chop:
    
    OGRs_data = OGR_df[OGR_df.ROME == ROME]
    
    ROME_groups = []
    
    for OGR_data in OGRs_data.iterrows():
        OGR = OGR_data[0]
        label = OGR_data[1].label
        
        ROME_groups.append({
            'OGRs': [OGR],
            'label': label,
            'name': OGR,
        })
        
    groups[ROME] = ROME_groups

In [40]:
groups['A1203']


Out[40]:
[{'OGRs': ['10675'],
  'label': "Agent / Agente d'entretien des parcs et jardins",
  'name': '10675'},
 {'OGRs': ['38436'], 'label': 'Aide jardinier / jardinière', 'name': '38436'},
 {'OGRs': ['12439'],
  'label': "Chef d'équipe d'entretien des espaces verts",
  'name': '12439'},
 {'OGRs': ['12482'], 'label': "Chef d'équipe paysagiste", 'name': '12482'},
 {'OGRs': ['16067'], 'label': 'Jardinier / Jardinière', 'name': '16067'},
 {'OGRs': ['16068'],
  'label': "Jardinier / Jardinière d'espaces verts",
  'name': '16068'},
 {'OGRs': ['16069'],
  'label': 'Jardinier / Jardinière paysagiste',
  'name': '16069'},
 {'OGRs': ['38437'], 'label': 'Manoeuvre des espaces verts', 'name': '38437'},
 {'OGRs': ['17475'],
  'label': "Ouvrier / Ouvrière d'entretien des espaces verts",
  'name': '17475'},
 {'OGRs': ['17480'],
  'label': 'Ouvrier / Ouvrière des espaces verts',
  'name': '17480'},
 {'OGRs': ['17487'],
  'label': 'Ouvrier / Ouvrière du paysage',
  'name': '17487'},
 {'OGRs': ['17515'],
  'label': 'Ouvrier / Ouvrière paysagiste ',
  'name': '17515'},
 {'OGRs': ['38077'],
  'label': 'Technicien / Technicienne paysagiste',
  'name': '38077'}]

In [41]:
with open('../decoupage_ROME.pickle', 'wb') as f:
    pickle.dump(groups, f)

In [ ]: