Ajout d'une colonne supplémentaire à un tableau NumPy
NumPy, une puissante bibliothèque de calcul scientifique en Python, fournit une gamme de méthodes pour manipuler données multidimensionnelles. Parmi celles-ci se trouve la tâche consistant à ajouter une colonne supplémentaire à un tableau. Explorons comment y parvenir à l'aide de fonctions NumPy spécialisées qui offrent un moyen pratique et efficace d'étendre les dimensions de vos tableaux.
Utilisation de np.r_[...] et np.c_[.. .]
Pour ajouter une colonne supplémentaire à un tableau 2D, deux fonctions NumPy utiles sont np.r_[...] (pour ajouter des lignes) et np.c_[...] (pour ajout de colonnes). Contrairement à np.vstack et np.hstack, ces fonctions utilisent des crochets [] au lieu de parenthèses ().
Considérez le tableau 2D suivant :
<code class="python">import numpy as np a = np.array([ [1, 2, 3], [2, 3, 4], ])</code>
Pour ajouter une colonne de zéros le long le deuxième axe, en utilisant np.c_[...] :
<code class="python">b = np.c_[a, np.zeros(a.shape[0])]</code>
Cela donne le résultat souhaité :
<code class="python">b = np.array([ [1, 2, 3, 0], [2, 3, 4, 0], ])</code>
Exemples supplémentaires
np.r_[...] et np.c_[...] offrent une polyvalence dans l'ajout de lignes/colonnes aux tableaux. Voici quelques autres exemples :
<code class="python">N = 3 A = np.eye(N) # Add a column np.c_[A, np.ones(N)] # Add two columns np.c_[np.ones(N), A, np.ones(N)] # Add a row np.r_[A, [A[1]]] # Mix vectors and scalars np.r_[A[0], 1, 2, 3, A[1]] # Use lists or tuples np.r_[A[0], [1, 2, 3], A[1]] np.r_[A[0], (1, 2, 3), A[1]] # Use Python slice syntax np.r_[A[0], 1:4, A[1]]</code>
Comprendre les crochets carrés et les parenthèses rondes
Il est important de noter que np.r_[...] et np. c_[...] utilise des crochets, tandis que np.vstack et np.hstack utilisent des parenthèses rondes. En effet, Python interprète 1:4 comme un objet slice lorsqu'il est utilisé entre crochets. Cet objet slice représente les valeurs 1, 2 et 3, qui sont ensuite ajoutées au tableau.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!