Maîtriser NumPy : initialisation des méthodes, opérations et fonctions de Ndarray
Publié: 2021-01-05Numpy est un package Python qui permet d'effectuer des opérations mathématiques et numériques avec des fonctionnalités abstraites et à haute efficacité sur des données de grande dimension. Lors de la création d'une solution d'apprentissage automatique pour un cas d'utilisation métier particulier, il devient très important de transformer les données de manière à ce que le prétraitement devienne facile et que les résultats soient interprétables. Numpy est la bibliothèque principale qui permet d'exécuter toutes les fonctions associées de la meilleure façon possible.
Table des matières
Pourquoi NumPy ?
D'autres bibliothèques de science des données telles que Pandas, Matplotlib et Scikit-learn sont construites sur Numpy en raison de sa nature haute performance. Cette bibliothèque propose ndarray qui est utilisé à la place des listes python intégrées. La liste Python est idéale pour stocker des valeurs, mais cela se fait au prix d'un temps d'exécution accru car elle stocke des pointeurs sur les emplacements de mémoire, ce qui ajoute une surcharge en termes de mémoire et d'exécution.
Numpy trouve son utilisation directe dans le domaine du traitement d'images où les images sont traitées comme des matrices multidimensionnelles élevées pour effectuer diverses transformations telles que le flou, le changement de couleur et la détection d'objets.
Examinons quelques fonctions Numpy importantes que tout aspirant en Data Science devrait connaître, mais avant cela :
- Tous les codes de fonctions ci-dessous supposent que la bibliothèque a été importée avec l'alias np, c'est-à-dire, importez numpy en tant que np.
- Le terme "tableau" sera utilisé pour définir ndarray après ce point.
Différentes façons d'initialiser
1. Espacement linéaire
Cette fonction est destinée à fournir un tableau à espacement linéaire dans la plage de valeurs. La fonction np.linspace(start, stop, num) où le début et la fin définissent la plage de valeurs et num définissent le nombre d'échantillons, renvoie des valeurs régulièrement espacées tandis que np.arange(start, stop, step) renvoie des valeurs qui diffèrent de valeurs de pas.
2. Valeurs particulières
Dans de nombreux cas, vous souhaiterez peut-être initialiser une grande matrice avec des valeurs telles que des uns, des zéros, des identités ou des valeurs constantes. La taille du tableau est passée sous forme de tuple. Numpy facilite cela via différentes fonctions :
- np.zeros(size) : les éléments sont nuls
- np.ones(size) : les éléments sont des uns
- np.full (taille, valeur constante) : les éléments sont une valeur constante transmise.
- np.eye(size) : les éléments diagonaux sont des uns et les autres sont nuls. C'est la matrice d'identité.
- np.empty(size) : matrice vide
- np.random.random(size) : la matrice de valeurs aléatoires est initialisée à la taille spécifiée.
Lire: Questions d'entrevue Numpy
Opérations Ndarray
L'objectif principal de cette bibliothèque est des calculs efficaces entre différents tableaux. Numpy prend en charge presque tous les types d'opérations mathématiques et de manipulations appliquées élément par élément. Certains d'entre eux sont répertoriés ci-dessous (supposons que deux tableaux A et B de même taille sont initialisés avec des valeurs aléatoires) :
1. Mathématique
- np.add(A, B): Addition
- np.subtract(A, B): Soustraction
- np. diviser(A, B): Division
- np.multiplier(A, B): Multiplication
- np.exp(A) : valeurs exponentielles
- np.sqrt(A) : valeurs de la racine carrée
- np.sin(A), cos(A), tan(A) : Valeurs trigonométriques
- np.log(A) : valeurs logarithmiques
- np.percentile(A, centile nécessaire, axe) : en passant la valeur de centile, par exemple, 50, la fonction renverra le 50e centile du tableau.
- A.dot(B) : renvoie le produit scalaire des tableaux
- A == B : Comparaison élément par élément
- np.array_equal(A, B) : comparaison par tableau
- A.sum() : Somme de tous les éléments
- A.min(), max() : valeurs minimales et maximales
- A.cumsum() : somme cumulée des éléments du tableau
- A.corrcoef() : Coefficient de corrélation
2. Manipulations
- np.transpose(A) ou AT : Transpose de la matrice
- A.ravel() : Aplatit le tableau
- A.reshape(new_shape) : remodèle le tableau (ici passer directement la taille sans la mettre dans le tuple). La nouvelle taille doit être la même que
- A.resize(size) : change la forme du tableau en n'importe quelle forme et supprime les autres éléments qui ne font pas partie de cette nouvelle forme.
- np.concatenate((A,B), axe=1 ou 0)
- np.vstack((A,B)): Empilez les tableaux verticalement (par ligne)
- np.hstack((A,B)) : pile horizontale
Découvrez : Numpy vs Panda : Différence entre

Fonctions diverses
- np.where() : il s'agit d'une fonction essentielle qui élimine le besoin d'instructions if-else. Il prend 3 arguments importants : la condition, la valeur si la condition est satisfaite, et la valeur sinon. Un exemple simple de cela peut être lorsque vous devez binariser une colonne en fonction d'un seuil donné.
- np.intersect1d() : cette fonction renvoie l'intersection de deux tableaux 1-d. Cela signifie que les valeurs communes de ces tableaux sont renvoyées par cette fonction. Si les tableaux passés ne sont pas 1-d, il est aplati.
- np.allclose() : C'est une fonction intéressante. Dans certaines situations, vous pouvez vous permettre un certain niveau de tolérance lors de la comparaison de tableaux ou vous souhaitez découvrir des tableaux similaires. Cette fonction prend les tableaux et la valeur de tolérance souhaitée. Par exemple:
- tab1 = np.tableau([1,2,3,4])
- tab2 = np.tableau([2,3,4,5])
- np.allclose(arr1, arr2, 0.5) : renverra False
- np.allclose(arr1, arr2, 1): renverra True
- argmin(), argmax() et argsort() : comme leur nom l'indique, ces fonctions renvoient les indices des noms respectifs. A.argmin() renvoie l'index d'élément minimum, A.argmax() l'inverse, et A.argsort() renvoie les indices du tableau trié. Ces fonctions peuvent être utiles lorsque le résultat dépend de l'index.
- np.clip() : Ceci est utilisé pour convertir les valeurs dans une plage spécifique. Par exemple, si un tableau a des valeurs de 1 à 30 et que vous voulez les valeurs entre 14 et 27 sans perdre d'autres valeurs, cette fonction augmentera les valeurs inférieures à 19 à 19 et réduira les valeurs supérieures à 27 à 27.
Conclusion
Il existe de nombreuses autres fonctions lors de l'utilisation de tableaux numpy, mais ce sont les fonctions les plus utilisées. Les opérations appliquées sur les colonnes ou séries Pandas sont en fait sur ndarray car la série est ndarray unidimensionnelle.
Numpy est un excellent outil pour générer de fausses données afin de tester des algorithmes spécifiques ou de simuler un scénario. Il est largement utilisé dans les applications de vision par ordinateur où l'image est transformée en matrices multidimensionnelles pour effectuer les opérations requises ou dans l'apprentissage en profondeur où les poids du réseau de neurones sont détenus par ces ndarrays.
Si vous êtes curieux d'en savoir plus sur la science des données, consultez le diplôme PG de IIIT-B & upGrad en science des données qui est créé pour les professionnels en activité et propose plus de 10 études de cas et projets, des ateliers pratiques, un mentorat avec des experts de l'industrie, 1- on-1 avec des mentors de l'industrie, plus de 400 heures d'apprentissage et d'aide à l'emploi avec les meilleures entreprises.