Maison  >  Article  >  développement back-end  >  Comment np.newaxis peut-il être utilisé pour contrôler les dimensions d'un tableau dans NumPy ?

Comment np.newaxis peut-il être utilisé pour contrôler les dimensions d'un tableau dans NumPy ?

Barbara Streisand
Barbara Streisandoriginal
2024-10-26 01:56:02164parcourir

How Can np.newaxis Be Used to Control Array Dimensions in 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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn