Rembourrage Numpy

Vaibhhav Khetarpal 30 janvier 2023
  1. Utilisez la fonction NumPy.pad() pour remplir un tableau NumPy en Python
  2. Utilisez la fonction shape() pour remplir un tableau NumPy en Python
Rembourrage Numpy

Python ne permet pas l’utilisation directe de tableaux. C’est là qu’intervient la bibliothèque NumPy, qui permet de traiter et de manipuler des tableaux en Python.

Les tableaux peuvent avoir n’importe quelle taille et dimensions spécifiées. Parfois, il est nécessaire de compenser les dimensions d’un tableau particulier, et c’est là que le rembourrage est utile.

Le rembourrage, en termes simples, fait référence à l’ajout de valeurs non informatives, généralement des zéros, à toutes les lignes ou colonnes lorsqu’il s’agit de tableaux. Il est largement utilisé pour compenser le nombre de lignes ou de colonnes dans un tableau ou une matrice manquant.

Ce tutoriel montre comment remplir un tableau NumPy en Python. Par exemple, nous remplirons le tableau NumPy donné avec des zéros dans ce didacticiel.

Utilisez la fonction NumPy.pad() pour remplir un tableau NumPy en Python

Comme son nom l’indique, la fonction NumPy.pad() est utilisée pour effectuer l’opération de remplissage sur les tableaux NumPy.

La syntaxe de la fonction NumPy.pad() est la suivante.

numpy.pad(array, pad_width, mode="constant", **kwargs)

Tous les paramètres de la fonction NumPy.pad() ont été définis ci-dessous pour faciliter la compréhension du lecteur.

  1. array - Le paramètre spécifie le tableau qui doit être rempli.

  2. pad_width - Il spécifie le nombre de valeurs qui seraient ajoutées aux bords de tous les axes. Les tuples sont utilisés pour spécifier la largeur des tableaux multidimensionnels.

  3. mode - Un paramètre facultatif spécifie le mode du tableau.

  4. **kwargs - Peut passer une longueur de mot-clé variable d’argument à l’intérieur d’une fonction. Il est facultatif de le mentionner et vous pouvez en savoir plus à ce sujet en ligne.

    Les exemples de cet article ne présentent pas l’utilisation de cet argument.

Ici, nous prendrons un exemple de tableau multidimensionnel, mais la même chose peut être faite pour un tableau unidimensionnel en modifiant un peu le code.

Le code suivant utilise la fonction NumPy.pad() pour remplir un tableau NumPy en Python.

import numpy as np

x = np.array([[1.0, 1.0, 1.0, 1.0], [1.0, 1.0, 1.0, 1.0], [1.0, 1.0, 1.0, 1.0]])
y = np.pad(x, [(0, 1), (0, 1)], mode="constant")
print(y)

Le code ci-dessus fournit la sortie suivante.

[[1. 1. 1. 1. 0.]
 [1. 1. 1. 1. 0.]
 [1. 1. 1. 1. 0.]
 [0. 0. 0. 0. 0.]]

Ici, nous effectuons l’opération de remplissage sur un tableau multidimensionnel pour étendre ses dimensions à notre taille spécifiée.

Utilisez la fonction shape() pour remplir un tableau NumPy en Python

Il s’agit d’une méthode indirecte qui est également capable d’obtenir les mêmes résultats que la fonction NumPy.pad(). La fonction shape() est une autre des fonctions contenues dans la bibliothèque NumPy et est accessible après avoir importé cette bibliothèque dans le code.

La fonction shape est utilisée pour déterminer les dimensions d’un tableau ou d’une matrice donné.

Cette méthode est un peu étirée, car elle crée une nouvelle matrice nulle des dimensions souhaitées selon les besoins de l’utilisateur, puis insère la matrice d’origine dans la matrice nulle nouvellement créée. Il obtient les mêmes résultats mais emprunte un chemin différent et indirect dans le cheminement pour arriver au résultat.

Outre la fonction shape(), cette approche utilise la méthode NumPy.zeros() pour créer une matrice nulle.

Pour cette approche, nous avons besoin d’une matrice de référence dont les dimensions satisfont le besoin de post-remplissage des dimensions cibles de l’utilisateur, car nous prenons d’abord la référence des dimensions finales nécessaires pour créer la matrice nulle.

Le code suivant utilise la fonction shape() pour remplir un tableau NumPy en Python.

import numpy as np

x = np.array([[1.0, 1.0, 1.0, 1.0], [1.0, 1.0, 1.0, 1.0], [1.0, 1.0, 1.0, 1.0]])
y = np.array(
    [
        [1.0, 1.0, 1.0, 1.0, 1.0],
        [1.0, 1.0, 1.0, 1.0, 1.0],
        [1.0, 1.0, 1.0, 1.0, 1.0],
        [1.0, 1.0, 1.0, 1.0, 1.0],
    ]
)
z = np.zeros(np.shape(y))
z[: x.shape[0], : x.shape[1]] = x
print(z)

Le code ci-dessus fournit la sortie suivante.

[[1. 1. 1. 1. 0.]
 [1. 1. 1. 1. 0.]
 [1. 1. 1. 1. 0.]
 [0. 0. 0. 0. 0.]]
Vaibhhav Khetarpal avatar Vaibhhav Khetarpal avatar

Vaibhhav is an IT professional who has a strong-hold in Python programming and various projects under his belt. He has an eagerness to discover new things and is a quick learner.

LinkedIn