Maison > développement back-end > Tutoriel Python > Comment le \'np.newaxis\' de NumPy peut-il être utilisé pour activer la diffusion dans les opérations de tableau ?

Comment le \'np.newaxis\' de NumPy peut-il être utilisé pour activer la diffusion dans les opérations de tableau ?

Mary-Kate Olsen
Libérer: 2024-10-26 06:18:30
original
969 Les gens l'ont consulté

How can NumPy's 'np.newaxis' be used to enable broadcasting in array operations?

Qu'est-ce que « np.newaxis » de NumPy et comment l'utiliser

Comprendre « np.newaxis »

'np.newaxis' de NumPy, également connu sous le nom de 'None', est un pseudo-index utilisé pour ajouter temporairement un axe à un tableau. Lorsqu'il est utilisé une seule fois, il augmente la dimension du tableau de un. Par exemple, un tableau 1D devient un tableau 2D, un tableau 2D devient un tableau 3D, et ainsi de suite.

Scénarios d'utilisation de 'np.newaxis'

Scénario 1 : Création de vecteurs ligne/colonne à partir de tableaux 1D

'np.newaxis' peut être utilisé pour convertir explicitement un tableau 1D en vecteur ligne (en insérant un axe le long de la première dimension) ou un vecteur colonne (en insérant un axe le long de la deuxième dimension).

Scénario 2 : Activation de la diffusion NumPy

'np.newaxis' devient utile lors de l'exécution d'opérations impliquant Diffusion NumPy. Par exemple, envisagez d'ajouter deux tableaux avec les formes « (5,) » et « (3,) ». NumPy générera une erreur en raison de formes incompatibles. En utilisant « np.newaxis » pour augmenter la dimension d'un tableau, la diffusion peut être activée pour effectuer l'opération.

Scénario 3 : Promotion des tableaux vers des dimensions plus élevées

'np.newaxis' peut être utilisé plusieurs fois pour promouvoir des tableaux à des dimensions plus élevées, ce qui peut être nécessaire pour les tableaux d'ordre supérieur (tenseurs).

Exemples d'utilisation

Pour utilisez 'np.newaxis', insérez-le dans l'expression de découpage. Par exemple :

<code class="python"># Create a row vector from a 1D array
x = np.arange(4)
x_row_vector = x[np.newaxis, :]</code>
Copier après la connexion

Pour activer la diffusion :

<code class="python"># Add a 1D array to a 2D array
x1 = np.array([1, 2, 3, 4, 5])
x2 = np.array([5, 4, 3])
x1_new = x1[:, np.newaxis]    # Insert axis for broadcasting
result = x1_new + x2</code>
Copier après la connexion

Alternative : 'np.expand_dims'

'np.expand_dims' est une alternative à 'np.newaxis' qui fournit un kwarg 'axis' intuitif pour spécifier le point d'insertion du nouvel axe.

Notes supplémentaires

  • ' np.newaxis' ajoute temporairement un axe, contrairement à 'np.reshape' qui remodèle le tableau selon une nouvelle disposition.
  • 'np.newaxis' et 'None' sont des objets équivalents.

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