Nous mettrons à jour notre Politique de confidentialité prochainement. En voici un aperçu.

Découvrir la data science avec Python

Définir des array dans NumPy

Testez gratuitement nos 1341 formations

pendant 10 jours !

Tester maintenant Afficher tous les abonnements
Il est temps de créer votre premier tableau avec NumPy. Vous pourrez ensuite le manipuler pour avoir le type, la forme et la taille. Vous pourrez alors commencer à travailler avec le tableau dans son ensemble.
07:30

Transcription

Je suis revenu dans ma console IPython pour vous parler un peu de Numpy. Je n'ai plus la définition des namespace dans le namespace courant donc je ne vais pas pouvoir utiliser Numpy aussi simplement qu'avant mais je vais me contraindre à importer Numpy en faisant un alias de façon à être beaucoup plus propre et à le préfixer avec l'alias de namespace« np ». Je vais générer un array, vous vous souvenez, un array a une ou plusieurs dimensions qui s'appelle un ndarray dans Numpy et je vais donc utiliser une des nombreuses méthodes qui permettent de générer des array et qui s'appelle « arange ». Ce n'est pas « arrange », il n'y a pas deux « r » mais c'est simplement « a » pour « array » et « range » correspond à ce qu'on a dans Python pour générer une rangée. Je vais simplement faire un array de dix valeurs. Et c'est mieux si j'attribue ceci à une variable. Donc, j'affecte le résultat à ma variable « a », « a » contient un array de dix valeurs, qui sont manifestement des entiers, et ça c'est important. Si vous travaillez avec Python, vous avez l'habitude d'avoir des containers, des listes, qui sont très très souples et ça c'est très important car si vous avez l'habitude de travailler avec Python vous avez l'habitude de travailler avec des collections très souples on peut y mettre ce qu'on veut et on peut mettre différents types de données, et il n'y a pas vraiment de notion de type de données. Par contre, dans Numpy on a une notion sérieuse de type de données parce que notre array, c'est pourquoi ce n'est pas une collection typique de Python, notre array est fortement typé. Il va contenir des valeurs du même type de données dans chaque dimension, c'est-à-dire chaque dimension doit avoir son même type de données, et je vais pouvoir d'ailleurs vérifier le type de mon array en regardant comme ceci quel est son « dtype », c'est-à-dire son data type et je vois que je suis sur de l'int32. Donc Numpy gère des types de données précis, int8, int16, int32, int64, des float, afin d'être plus efficace et rapide sur les calculs qui vont être faits. Et il y a une deuxième raison également, ça permet à Numpy de pouvoir collaborer avec du code C, par exemple, ou du Fortran, ou du code externe, qui demandent des tableaux correctement typés. Les tableaux ndarray, alors déjà on a vu qu'ils avaient un type, chaque dimension du tableau a un type précis. Ils ont également ce qu'on appelle un « shape », une forme. Si je regarde le « shape » de mon tableau, on me dit combien on a de valeurs dans chaque dimension. Ici j'en ai dix dans la première dimension et pas de deuxième dimension. On a la taille du tableau complet. 10. Et je vais bien entendu pouvoir faire référence à un des éléments du tableau avec une notation en crochets, ça c'est évident. Donc, 0. J'ai bien sûr la première valeur, donc ça c'est tout à fait évident. Un des avantages du ndarray c'est sa capacité de travailler avec le tableau tout en entier. Ce que je veux dire, si je fais ça, alors je reprends « a[0] + 1 », Nos faibles capacités mathématiques vont suffire pour deviner le résultat. Ok, donc 0+1 ça fait 1. Mais si je fais ça, est-ce que ça a du sens ? Vous allez me dire, je fais « un tableau +1 » alors qu'est-ce qu'il se passe ? J'ajoute peut-être une valeur. Eh bien non. Les opérateurs qui vont travailler avec des ndarray ont été pré-écrits et on a des fonctions qui s'appellent des fonctions universelles dans Numpy et qui vont travailler sur le tableau tout entier. Et même si c'est un tableau à plusieurs dimensions, sur toutes les dimensions. Et donc, si ce que je vous dit est vrai, mon résultat est effectivement « [ 1, 2, 3, 4, 5, 6, etc.] ». Je vais prendre ici mon tableau, je vais faire « 1+1 », et il va appliquer le « +1 » à chaque élément de mon tableau. C'est joli non ? Et justement par rapport à ça, si j'essaye de faire ça, on se souvient, quel est le type de l'int32 ? Et j'essaye d'ajouter à chaque élément de mon tableau « 0.1 » donc on se doute que si ce que j'ai dit est vrai on va avoir un problème. Eh bien non. Pourquoi n'ai-je pas eu de problème? Je vous laisse réfléchir une seconde. Mais ce n'est pas parce que Numpy est gentil, c'est parce que je n'ai pas vraiment bien travaillé. Je vous le donne en mille. Qu'est-ce que je fais avec ça ? Je crée un nouveau tableau, car mon résultat « a + quelque chose » ici est un nouvel array. Donc je ne vais pas le stocker, je n'ai pas dit que« a » était égal à « a + quelque chose ». Si j'essaye de faire ça et que je regarde « a » eh bien ça marche quand même, oui d'accord, ça marche quand même parce que j'ai écrasé « a ». Je vais recommencer. Ce n'est pas bien ce que je fais là. Je refais mon « arange ». Je suis à « a », ok. Maintenant je veux vraiment changer le tableau existant. Ce que j'ai fait ici, c'est que j'ai créé un nouveau tableau. J'ai créé un nouveau tableau, sans l'affecter à aucune variable. Par contre, ce que je peux faire, c'est plus quelque chose comme ça, où je vais utiliser un opérateur d'incrémentation de chaque élément. Et là on va me dire, non, non, non, attention, stop ! Parce que tu essayes de créer un « float64 » et de l'assigner déjà à un tableau de type « int32 ». Donc soyez bien attentifs à ce que vous faites mais c'est la même problématique dans n'importe quel langage de programmation. Simplement, on a vraiment un tableau avec des types, qui sont ici des « int32 ». Si j'essaye de modifier à l'intérieur de ce tableau déjà existant le type de données, impossible, par contre je peux, assez souplement, générer comme ici, un nouveau tableau avec des calculs faits le tableau automatiquement infère le type de la variable qui est un « float » ça c'est clair. Donc voilà pour cette notion de tableau. Alors vous avez plusieurs façons de créer un tableau, on a vu le « arange ». On a aussi une fonction qui s'appelle « linspace » et qui va prendre deux ou trois paramètres. Le début, la fin, alors on a un début et une fin, on part de 0 et on arrive à 10. Il y a pas mal de valeurs. On peut mettre un troisième paramètre en disant combien on veut de valeurs, par exemple j'en veux 20. Je vais en mettre 10, d'ailleurs, pour voir ce que ça donne et il veut vraiment pas me faire des entiers et alors dans pas mal de fonctions je vais pouvoir ajouter un paramètre qui s'appelle « dtype ». Alors ici mes trois premiers paramètres sont posiitonnels, et ici j'ai un paramètre nommé « dtype ». Et puis je vais choisir un type de données, par exemple, je suis jusqu'à 10, je vais prendre un « int8 » et voilà mon nouvel array. Alors j'aurais pu l'affecter à une variable mais maintenant j'ai défini le type de données que je voulais utiliser. J'ai mon array, et maintenant il comporte également une information de type de données, je pourrais, si je fais ca, voilà, regarder bien sûr le « dtype » de mon array et on est en « int8 ».

Découvrir la data science avec Python

Prenez en main les outils utilisés pour la data science avec Python, d'un point de vue technique. Pour cela, explorez les deux bibliothèques importantes, NumPy et Pandas.

2h16 (25 vidéos)
Aucun commentaire n´est disponible actuellement
 
Logiciel :
Spécial abonnés
Date de parution :25 août 2016

Votre formation est disponible en ligne avec option de téléchargement. Bonne nouvelle : vous ne devez pas choisir entre les deux. Dès que vous achetez une formation, vous disposez des deux options de consultation !

Le téléchargement vous permet de consulter la formation hors ligne et offre une interface plus conviviale. Si vous travaillez sur différents ordinateurs ou que vous ne voulez pas regarder la formation en une seule fois, connectez-vous sur cette page pour consulter en ligne les vidéos de la formation. Nous vous souhaitons un excellent apprentissage avec cette formation vidéo.

N'hésitez pas à nous contacter si vous avez des questions !