Les librairies Pandas et Numpy sont deux piliers de l’outillage
Python pour l’apprentissage automatique. Aussi faut-il connaitre quelques subtilités
pour éviter de perdre du temps à la recherche d’erreur.
Par expérience, je
réserve l’utilisation de Pandas au chargement des données et à leur
transformation pour ensuite les exporter vers les frameworks comme Tensorflow
ou Pytorch.
La phase d’export d’une colonne vers un array Numpy doit s’accompagner
d’une vérification des dimensions de l’export. Car Pandas l’exporte vers un
tableau qui est à plutôt les caractéristiques d’une liste.
Exemple : Création d'un dataFrame et export vers Numpy d'une colonne.
Une dimension unique comme (3,) est le propre d’une série au
sens Dataframe ou d’un type liste en Python : ce n’est pas une vrai
matrice (array) Numpy.
Dans numpy on peut repérer 3 structures particulières :
Les listes
La matrice sur 1 seule ligne mais bien de dimension 2
La matrice d’une colonne mais bien de dimension 2 (un
vecteur)
Il est possible de passer d’une structure à une autre par
une opération de ‘reshape’
Le broadcasting dans numpy.
- Dimensions identiques
- Une des deux dimensions est égale à 1
Erreurs de broadcasting.
Si on prend la matrice 'c' qui n'a qu'une seule dimension: le résultat sera différent : une matrice de 5X5