File: td_note_2013_rattrape.tex, line 25
def lit_fichier (file) : """ 0 Séance 1 Référence 2 Entité dépositaire 3 Elu dépositaire 4 Objet 5 Type 6 Rapporteur """ f = open(file,"r") lines = f.readlines () f.close () lines = [ _ for _ in lines if len(_) > 0 ] lines = [ _.split("\t") for _ in lines ] [1:] lines = [ (_[0], _[4] ) for _ in lines if len(_) > 5 ] return lines
File: td_note_2013_rattrape.tex, line 58
import re def extrait_montant (objet) : exp = re.compile ("[ (]([0-9.,]+) {0,3}euros") res = exp.search (objet) if res : montant = res.groups() [0] return montant else : print ("problème ", objet) return None
File: td_note_2013_rattrape.tex, line 87
exp = re.compile ("association(.*)[(]([0-9]+e)[)]")
, correction 2013
#coding:latin-1 import numpy import td_note_2013_novembre_2012_exoM as exoM fichier_zip = exoM.import_module_or_file_from_web_site ("equipements_sportif_2011.zip") fichier_texte = exoM.unzip_fichier (fichier_zip) # enlever le dernier paramètre 500 pour avoir le tableau complet colonne, intitule, variables = exoM.construit_matrice (fichier_texte) import numpy intitule = numpy.array(intitule) variables = numpy.array(variables) # question 1, exo M (2 ou 3) code_postaux = [ intitule[i,0] [:2] for i in range (intitule.shape[0] ) ] intitule3 = numpy.column_stack ( (intitule, code_postaux) ) # question 2, exo M (2 ou 3) comptage = {} for i in range (intitule3.shape[0]) : comptage [intitule3 [i,2] ] = 0 departements = [ k for k in comptage ] departements.sort() # question 3, exo M (2 ou 3) D = numpy.zeros ( (len(departements), variables.shape[1] ) ) for i in range (len (departements)) : d = departements [i] for j in range (variables.shape[1]) : D [i,j] = variables [ intitule3 [:,2] == d, j ].sum() # question 4, exo M (2 ou 3) E = numpy.zeros ( D.shape ) for i in range (E.shape[0]) : E [i,:] = D[i,:] / D[i,5] # question 5, exo M (2 ou 3) ginis = [] for j in range (E.shape[1]) : li = list ( E [:,j] ) gini = exoM.coefficient_gini (li) ginis.append ( (gini, colonne[0][j+2]) ) ginis.sort () for line in ginis : print line # les dernières lignes du tableau sont : #(0.86910090569180598, 'Domaine skiable') #(0.88139092467853186, 'Sports nautiques avec au moins une aire de pratique couverte') #(0.89326137963164931, 'Domaine skiable - nombre de pistes') #(0.9348918282098031, 'Parcours sportif avec au moins un parcours couvert') #(0.93902978850018792, 'Domaine skiable avec au moins une piste \xe9clair\xe9e') #(0.94625459043715754, '\xc9quipement de cyclisme avec au moins une piste couverte') #(0.95743849241598267, 'Sports nautiques - nombre de places en tribune') #(0.97248425032547758, 'Domaine skiable avec au moins une piste couverte') #(0.97718065858676906, 'Parcours sportif - nombre de places en tribune') #(0.98637386313881081, 'Terrain de golf - nombre de places en tribune') #(0.98969072164948457, 'Domaine skiable - nombre de places en tribune')