Maison >développement back-end >Tutoriel Python >Comment np.newaxis peut-il être utilisé pour contrôler les dimensions d'un tableau dans NumPy ?
Comprendre np.newaxis et ses applications
np.newaxis de NumPy est un outil puissant qui permet aux utilisateurs d'augmenter de manière transparente la dimension des tableaux. Lors de l'utilisation de np.newaxis une fois, un tableau unidimensionnel se transforme en un tableau bidimensionnel, un tableau bidimensionnel devient tridimensionnel, et ainsi de suite.
Scénario 1 : Création d'une ligne ou d'une colonne Vectors
np.newaxis s'avère utile pour convertir explicitement des tableaux unidimensionnels en vecteurs de lignes ou de colonnes. En insérant un axe le long de la première dimension, on crée un vecteur ligne, et en insérant un axe le long de la deuxième dimension, on obtient un vecteur colonne.
Exemple :
<code class="python">arr = np.arange(4) row_vec = arr[np.newaxis, :] col_vec = arr[:, np.newaxis]</code>
Scénario 2 : Activation de la diffusion
np.newaxis joue un rôle crucial dans la facilitation de la diffusion NumPy pour des opérations telles que l'ajout. Pour illustrer, considérons les tableaux suivants :
<code class="python">x1 = np.array([1, 2, 3, 4, 5]) x2 = np.array([5, 4, 3])</code>
Tenter d'ajouter ces tableaux directement dans NumPy déclenchera une ValueError en raison de leurs différentes formes. En insérant un nouvel axe dans l'un ou l'autre des tableaux à l'aide de np.newaxis, nous activons la diffusion et permettons à l'opération de se poursuivre.
Exemple :
<code class="python">x1_new = x1[:, np.newaxis] sum_array = x1_new + x2</code>
Alternativement, nous pouvons ajoutez un nouvel axe à x2 :
<code class="python">x2_new = x2[:, np.newaxis] sum_array = x1 + x2_new</code>
Scénario 3 : Promotion des dimensions pour les tableaux d'ordre supérieur
np.newaxis peut être utilisé plusieurs fois pour promouvoir des tableaux vers des dimensions plus élevées, une fonctionnalité particulièrement utile pour manipuler les tenseurs.
Exemple :
<code class="python">arr = np.arange(5*5).reshape(5,5) arr_5D = arr[np.newaxis, ..., np.newaxis, np.newaxis]</code>
Alternatives : np.expand_dims et None
np.expand_dims offre un paramètre d'axe intuitif pour agrandir les dimensions. De plus, None peut être utilisé de manière interchangeable avec np.newaxis.
Conclusion
np.newaxis est un outil polyvalent pour gérer la dimensionnalité des tableaux NumPy. Ses applications vont de la création de vecteurs de lignes ou de colonnes à l'activation de la diffusion et à la promotion de dimensions pour des tableaux d'ordre supérieur.
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!