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

Barbara Streisand
Libérer: 2024-10-26 01:56:02
original
224 Les gens l'ont consulté

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>
Copier après la connexion

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>
Copier après la connexion

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>
Copier après la connexion

Alternativement, nous pouvons ajoutez un nouvel axe à x2 :

<code class="python">x2_new = x2[:, np.newaxis]
sum_array = x1 + x2_new</code>
Copier après la connexion

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>
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal