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

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

Partie I : installation et premier pas

Installation

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

  • Solution simple : Anaconda

  • Python

Système de Package

Les packages à avoir pour faire de la datascience

Installer un package

Package pure python ? (Unofficial Windows Binaries for Python Extension Packages)

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)

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.

Partie III : dictionnaires

Tout d’abord une source d’erreur fréquente

<<<

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.

Digressions de fin de session

  • fichiers

  • expressions régulières

  • git

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 ?