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
Système de Package
Les packages à avoir pour faire de la datascience
pandas : tables de données
matplotlib : calcul matriciel
scikit-learn : machine learning
Installer un package
Package pure python ? (Unofficial Windows Binaries for Python Extension Packages)
Un peu plus sur les notebooks
fonction
print
variables : int, float, str, tuple, list, set, dict
boucle : for, while
tests : if, else (voir aussi PEP 636 – Structural Pattern Matching: Tutorial)
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
on ne peut plus s’en passer
dictionnaires : compter les éléments
Exercice : compter les paires de lettres consécutives dans un texte.
Digressions de fin de session
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 ?