2023-01-10 Année 2023, séance 1#

Séance découpée en quatre parties.

Partie I : installation et premier pas

Installation

  • Choix d’une version : 3.8, 3.9, 3.10, (3.11 est sortie trop récemment)

  • Solution simple : Anaconda

  • Python

Système de Packages

Les packages à avoir pour faire de la datascience

Installer un package

Package pure python ?

  • Les librairies de calculs incluent souvent du code C++. Qu’est-ce que cela implique ?

Un peu plus sur les notebooks

Les premiers pas

Que fait le programme suivant ?

<<<

res = [[1]]
for i in range(1, 10):
    row = [1]
    for j in range(1, i):
        n = sum(res[-1][j - 1: j + 1])
        row.append(n)
    row.append(1)
    res.append(row)

import pprint
pprint.pprint(res)

Installation d’un package…

Essayez avec GDAL avec pip ou conda.

Partie II : fonction, notion de coût

Les fonctions

  • fonctions : def

<<<

import cProfile

nombres = [9, 7, 5, 4, 6, 7, 3, 1, 7, 8]


def moyenne(ens):
    return sum(ens) / len(ens)


def ecarttype(ens):
    var = [(n - moyenne(ens)) ** 2 for n in ens]
    return (sum(var) / len(var)) ** 0.5


print(moyenne(nombres))
print(ecarttype(nombres))

with cProfile.Profile() as pr:
    for n in range(100000):
        ecarttype(nombres)

pr.print_stats()

  • coût d’un algorithme

  • notation with

Exercice : calculer le nombre de caractères différents entre deux chaînes de caractères :

  • chaînes de même longueur ou,

  • chaînes de longueur différentes (voir distance de Levenshtein ou,

  • chaînes de longueur différentes donnant moins de poids à une confusion entre mm et mn.

Partie III : dictionnaires

Tout d’abord une source d’erreurs fréquentes :

<<<

def bizarre(ensemble):
    # premier zero
    ensemble.append(0)
    for i in range(len(ensemble)):
        if ensemble[i] == 0:
            return i


res = [1, 4, 5]
print("bizarre=", bizarre(res))
print("res=", res)

Dictionnaires

Exercice : compter les paires de lettres consécutives dans un texte.

Partie IV : dictionnaires

  • fichiers

  • expressions régulières

Exercice pour la prochaine fois

  • installer un package

  • mettre à jour un package

  • réfléchir au problème suivant

Un base de données contient une variable catégorielle. Malheureusement, elle est renseignée de façon imparfaite car elle contient des erreurs de syntaxe. Exemple :

['comptabilité', 'datascience', 'data science',
 'pilote', 'pilotage', 'auteur', 'autrice', ...]

Que peut-on faire pour nettoyer cette variable ?